diff --git a/coding2017 b/coding2017 new file mode 160000 index 0000000000..bdbfcff8c9 --- /dev/null +++ b/coding2017 @@ -0,0 +1 @@ +Subproject commit bdbfcff8c9b106c07b6cbd6702fe97accc1dc90b diff --git a/students/1005475328/src/com/zl/TestApp.java b/students/1005475328/src/com/zl/TestApp.java deleted file mode 100644 index 7d5c3fdb56..0000000000 --- a/students/1005475328/src/com/zl/TestApp.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.zl; - -public class TestApp { - public static void main(String[] args){ - System.out.println("Test App start!"); - } -} diff --git a/students/1049843090/ood/build.gradle b/students/1049843090/ood/build.gradle deleted file mode 100644 index adca958b35..0000000000 --- a/students/1049843090/ood/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -group 'com.yangdd' -version '1.0-SNAPSHOT' -description = '面向对象设计' - -apply plugin: 'java' - -sourceCompatibility = 1.8 - -repositories { - mavenLocal() - mavenCentral() -} - -//项目布局,下面是Java plugin的默认布局 -sourceSets { - main.java.srcDir('src/main/java') - main.resources.srcDir('src/main/resources') - test.java.srcDir('src/test/java') - test.resources.srcDir('src/test/resources') -} - -dependencies { - testCompile('junit:junit:4.12') -} - -tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' -} \ No newline at end of file diff --git a/students/1049843090/ood/settings.gradle b/students/1049843090/ood/settings.gradle deleted file mode 100644 index 4ffc61b06a..0000000000 --- a/students/1049843090/ood/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'ood' - diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 70759b547a..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} \ No newline at end of file diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index c57f37c4ce..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} \ No newline at end of file diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 27b3f180a7..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp; - -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Random; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List query(String sql) { - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - - public static List querySubscriber(String productId) { - - List list = new ArrayList<>(); - - Random random = new Random(); - int number = random.nextInt(3); - - for (int i = 1; i <= number; i++) { - UserInfo userInfo = new UserInfo(); - userInfo.setName("User" + productId + i); - userInfo.setMail(userInfo.getName() + "@" + productId + ".com"); - list.add(userInfo); - } - return list; - } -} \ No newline at end of file diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailData.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailData.java deleted file mode 100644 index 6bcf25cc99..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailData.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.ood.srp; - -/** - * 邮件数据 - * - * @author yangdd - */ -public class MailData { - - protected String smtpHost; - protected String altSmtpHost; - protected String fromAddress; - protected String toAddress; - protected String subject; - protected String message; - private boolean debug; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isDebug() { - return debug; - } - - public void setDebug(boolean debug) { - this.debug = debug; - } -} diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9948734ff5..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - - public static void sendEmail(MailData mailData) { - //假装发了一封邮件 - try { - StringBuilder buffer = new StringBuilder(); - buffer.append("Smtp:").append(mailData.getSmtpHost()).append("\n"); - buffer.append("From:").append(mailData.getFromAddress()).append("\n"); - buffer.append("To:").append(mailData.getToAddress()).append("\n"); - buffer.append("Subject:").append(mailData.getSubject()).append("\n"); - buffer.append("Content:").append(mailData.getMessage()).append("\n"); - System.out.println(buffer.toString()); - } catch (Exception e) { - try { - StringBuilder buffer = new StringBuilder(); - buffer.append("Smtp:").append(mailData.getAltSmtpHost()).append("\n"); - buffer.append("From:").append(mailData.getFromAddress()).append("\n"); - buffer.append("To:").append(mailData.getToAddress()).append("\n"); - buffer.append("Subject:").append(mailData.getSubject()).append("\n"); - buffer.append("Content:").append(mailData.getMessage()).append("\n"); - System.out.println(buffer.toString()); - } catch (Exception e1) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e1.getMessage()); - } - } - - - } - -} \ No newline at end of file diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfo.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfo.java deleted file mode 100644 index c699da54a1..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * 产品信息 - * - * @author yangdd - */ -public class ProductInfo { - - private String id; - - private String description; - - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - -} diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfoService.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfoService.java deleted file mode 100644 index 5f91b05c36..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/ProductInfoService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author yangdd - */ -public class ProductInfoService { - - public List getPromotionProducts() { - List list = new ArrayList<>(); - //可以抽取出一个读取文件的Util - BufferedReader br = null; - try { - String path = "/Users/yangdd/Documents/code/GitHub/coding2017-Q2/students/1049843090/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt"; - File file = new File(path); - br = new BufferedReader(new FileReader(file)); - String temp = null; - String[] data = null; - while ((temp = br.readLine()) != null) { - data = temp.split(" "); - ProductInfo productInfo = new ProductInfo(); - productInfo.setId(data[0]); - productInfo.setDescription(data[1]); - list.add(productInfo); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - return list; - } - -} diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index d8accbd797..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class PromotionMail { - - - public static void main(String[] args) throws Exception { - new PromotionMail().sendEMails(); - - } - - - private void setMessage(ProductInfo productInfo, UserInfo userInfo, MailData mailData) { - - - mailData.setSubject("您关注的产品降价了"); - String message = "尊敬的 " + userInfo.getName() + ", 您关注的产品 " + productInfo.getDescription() + " 降价了,欢迎购买!"; - mailData.setMessage(message); - - } - - - private void sendEMails() throws Exception { - ProductInfoService productInfoService = new ProductInfoService(); - UserInfoService userInfoService = new UserInfoService(); - List productInfos = productInfoService.getPromotionProducts(); - - System.out.println("开始发送邮件"); - MailData mailData = getMailData(); - productInfos.forEach(e -> { - List userInfos = userInfoService.getuserInfoByProduceId(e.getId()); - userInfos.forEach(userInfo -> { - if (userInfo.getMail().length() > 0) { - mailData.setToAddress(userInfo.getMail()); - setMessage(e, userInfo, mailData); - MailUtil.sendEmail(mailData); - } else { - System.out.println(userInfo.getName() + "邮件格式不正确"); - } - - }); - }); - - - } - - - private MailData getMailData() { - Configuration config = new Configuration(); - MailData mailData = new MailData(); - mailData.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mailData.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mailData.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - return mailData; - } - -} \ No newline at end of file diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfo.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfo.java deleted file mode 100644 index 98b04b338e..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp; - -/** - * 用户信息 - * - * @author yangdd - */ -public class UserInfo { - - private String name; - - private String mail; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getMail() { - return mail; - } - - public void setMail(String mail) { - this.mail = mail; - } -} diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfoService.java b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfoService.java deleted file mode 100644 index d320d41491..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/UserInfoService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * @author yangdd - */ -public class UserInfoService { - - public List getuserInfoByProduceId(String productId) { - return DBUtil.querySubscriber(productId); - } -} diff --git a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1049843090/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1049843090/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/Configuration.java b/students/1058267830/newMail/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f1fe384d94..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.srp; - -public class Configuration { - - public static final String SMTP_SERVER = "smtp.163.com"; - public static final String ALT_SMTP_SERVER = "smtp1.163.com"; - public static final String EMAIL_ADMIN = "admin@company.com"; - public static final String PRODUCTS_FILE_PATH = "D:\\workspace\\design-pattern\\newMail\\src\\com\\coderising\\ood\\srp\\product_promotion.txt"; - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/DBUtil.java b/students/1058267830/newMail/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index ec4dd0fddb..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -@SuppressWarnings("all") -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List queryUserList(String sql){ - - List userList = new ArrayList(); - - for (int i = 1; i <= 3; i++) { - User user = new User("User" + i, "aa@bb.com"); - userList.add(user); - } - - return userList; - } -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/MailUtil.java b/students/1058267830/newMail/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 77f7699825..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class MailUtil { - - public static void sendEmail(List products, List users){ - - for(Product p : products){ - for(User u : users){ - sendEmailToUser(p, u); - } - } - - } - - private static void sendEmailToUser(Product product, User user) { - - String message = "尊敬的 "+user.getName()+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - - String fromAddress = Configuration.EMAIL_ADMIN; - String subject = "您关注的产品降价了"; - String smtpHost = Configuration.SMTP_SERVER; - String altSmtpHost = Configuration.ALT_SMTP_SERVER; - - try{ - _sendEmailReal(user.getEmail(), fromAddress, subject, message, smtpHost, false); - }catch(Exception e){ - _sendEmailReal(user.getEmail(), fromAddress, subject, message, altSmtpHost, false); - } - - } - - private static void _sendEmailReal(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/Product.java b/students/1058267830/newMail/src/com/coderising/ood/srp/Product.java deleted file mode 100644 index 4712c8f0ff..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - - private String productId; - private String productDesc; - public Product(String productId, String productDesc) { - super(); - this.productId = productId; - this.productDesc = productDesc; - } - public String getProductId() { - return productId; - } - public void setProductId(String productId) { - this.productId = productId; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/ProductUtil.java b/students/1058267830/newMail/src/com/coderising/ood/srp/ProductUtil.java deleted file mode 100644 index d49f51dc51..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/ProductUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -@SuppressWarnings("all") -public class ProductUtil { - /** - * 得到促销产品列表,至于从哪里读取,由该方法内部决定,外部不需要知道 - * @throws IOException - */ - public static List getProducts() throws IOException{ - return readFile(new File(Configuration.PRODUCTS_FILE_PATH)); - } - - private static List readFile(File file) throws IOException { - List products = new ArrayList(); - FileInputStream fis = new FileInputStream(file); - BufferedReader br = new BufferedReader(new InputStreamReader(fis, "UTF-8")); - for( String line = br.readLine(); line != null; line = br.readLine() ){ - Product product = new Product(line.split(" ")[0], line.split(" ")[1]); - products.add(product); - } - - return products; - - } - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/PromotionMail.java b/students/1058267830/newMail/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 0f6baa324e..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class PromotionMail { - - public static void main(String[] args) { - - /** - * 整体步骤大概有3步: - * 1、读取配置文件,得到促销的商品列表 - * 2、调用DBUtil读取DB,得到订阅的用户列表 - * 3、调用MailUtil发送邮件 - */ - List products = new ArrayList(); - List users = new ArrayList(); - try { - - products = ProductUtil.getProducts(); - users = DBUtil.queryUserList("select *** from t_user"); - MailUtil.sendEmail(products, users); - - } catch (IOException e) { - e.printStackTrace(); - } - - - } - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/User.java b/students/1058267830/newMail/src/com/coderising/ood/srp/User.java deleted file mode 100644 index 6a7bc15952..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp; - -public class User { - - private String name; - private String email; - - public User(String name, String email) { - super(); - this.name = name; - this.email = email; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - - -} diff --git a/students/1058267830/newMail/src/com/coderising/ood/srp/product_promotion.txt b/students/1058267830/newMail/src/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1058267830/newMail/src/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/108847244/ood/ood-assignment/pom.xml b/students/108847244/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/108847244/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/108847244/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/115615290/ood-assignment/config/product_promotion.txt b/students/115615290/ood-assignment/config/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/115615290/ood-assignment/config/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/115615290/ood-assignment/pom.xml b/students/115615290/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/115615290/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index d11d29787e..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 9f7cd5433f..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setName("User" + i); - user.setEmail("aa@bb.com"); - - userList.add(user); - } - - return userList; - } -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 22584f3d95..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - if(toAddress==null||toAddress.equals("")){ - throw new RuntimeException("发送地址不能为空!"); - } - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 4208ee6d34..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class Product { - - private String productID; - private String productDesc; - - public Product (File file) throws IOException{ - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - - -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index e14524f666..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String subject = null; - protected String message = null; - - - private static Configuration config; - - - - public static void main(String[] args) throws Exception { - - File f = new File("config/product_promotion.txt"); - PromotionMail pe = new PromotionMail(); - List users = DBUtil.query(pe.sendMailQuery); - Product product = new Product(f); - pe.sendEMails(users, product); - - } - - - public PromotionMail() throws Exception { - config = new Configuration(); - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public void setMessage(User user,Product product){ - subject = "您关注的产品降价了"; - message = "尊敬的 "+user.getName()+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - } - - public void sendEMails(User user,Product product){ - setMessage(user,product); - System.out.println("开始发送邮件"); - MailUtil.sendEmail(user.getEmail(), fromAddress, subject, message, smtpHost, true); - System.out.println("邮件发送完毕"); - } - - public void sendEMails(List users,Product product){ - System.out.println("开始发送邮件"); - for(User user:users){ - setMessage(user,product); - MailUtil.sendEmail(user.getEmail(), fromAddress, subject, message, smtpHost, true); - } - System.out.println("邮件发送完毕"); - } -} diff --git a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/User.java b/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/User.java deleted file mode 100644 index 42e4c81f89..0000000000 --- a/students/115615290/ood-assignment/src/main/java/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -public class User { - - private String name; - private String email; - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - - - -} diff --git a/students/1158154002/pom.xml b/students/1158154002/pom.xml deleted file mode 100644 index 1be81576cc..0000000000 --- a/students/1158154002/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/DateUtil.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/DateUtil.java deleted file mode 100644 index 9471308b5b..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/DateUtil.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.coderising.ood.ocp; - -import java.util.Date; - -public class DateUtil { - - public static String getCurrentDateAsString() { - - return new Date().toString(); - } -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/EmailLog.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/EmailLog.java deleted file mode 100644 index 197f08d2db..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/EmailLog.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class EmailLog implements LogMethod{ - - @Override - public void send(String msg) { - System.out.println("Email send "+msg); - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/LogMethod.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/LogMethod.java deleted file mode 100644 index f813444cd8..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/LogMethod.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.ood.ocp; - -public interface LogMethod { - void send(String msg); -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/LogType.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/LogType.java deleted file mode 100644 index ed2b6fc7e6..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/LogType.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.ood.ocp; - -public interface LogType { - String getMsg(String msg); -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/Logger.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/Logger.java deleted file mode 100644 index 09fae40095..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/Logger.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.ocp; - -public class Logger { - - LogType type; - LogMethod method; - - public Logger(LogType logType, LogMethod logMethod) { - this.type = logType; - this.method = logMethod; - } - - public void log(String msg) { - method.send(type.getMsg(msg)); - } - - public static void main(String[] args) { - Logger logger=new Logger(new RawLog(), new EmailLog()); - logger.log("hello world !"); - } -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/PrintLog.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/PrintLog.java deleted file mode 100644 index 6f1b379707..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/PrintLog.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class PrintLog implements LogMethod{ - - @Override - public void send(String msg) { - System.out.println("Print Log "+msg); - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLog.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLog.java deleted file mode 100644 index 88f1811f2e..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLog.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class RawLog implements LogType { - - @Override - public String getMsg(String msg) { - return msg; - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLogWithDate.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLogWithDate.java deleted file mode 100644 index c791fe142d..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/RawLogWithDate.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.ocp; - -public class RawLogWithDate implements LogType { - - @Override - public String getMsg(String msg) { - String txtDate = DateUtil.getCurrentDateAsString(); - msg = txtDate + ": " + msg; - return msg; - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/ocp/SmsLog.java b/students/1158154002/src/main/java/com/coderising/ood/ocp/SmsLog.java deleted file mode 100644 index 8bca6372ba..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/ocp/SmsLog.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class SmsLog implements LogMethod{ - - @Override - public void send(String msg) { - System.out.println("SMS send "+msg); - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/BaseFileLoader.java b/students/1158154002/src/main/java/com/coderising/ood/srp/BaseFileLoader.java deleted file mode 100644 index 8294670ffd..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/BaseFileLoader.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.Map; - -import com.coderising.ood.srp.api.FileLoader; - -public abstract class BaseFileLoader implements FileLoader { - public abstract Map readFile(File file); -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1158154002/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 927c7155cc..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1158154002/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 868a03ff83..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1158154002/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 65383e4dba..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/FileLoaderImpl.java b/students/1158154002/src/main/java/com/coderising/ood/srp/FileLoaderImpl.java deleted file mode 100644 index 75c0bf4954..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/FileLoaderImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -public class FileLoaderImpl extends BaseFileLoader{ - - @Override - public Map readFile(File file) { - BufferedReader br = null; - Map map=new HashMap(); - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - map.put("productID", data[0]); - map.put("productDesc", data[1]); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - br.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - return map; - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/HandlerEmail.java b/students/1158154002/src/main/java/com/coderising/ood/srp/HandlerEmail.java deleted file mode 100644 index f9ec8061e6..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/HandlerEmail.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.coderising.ood.srp.model.Constant; -import com.coderising.ood.srp.model.Mail; - -public class HandlerEmail { - - protected String sendMailQuery; - - protected Configuration config = new Configuration(); - - protected Mail mail=new Mail(); - - protected FileLoaderImpl fileLoader=new FileLoaderImpl(); - - public HandlerEmail(File file) { - Map map=fileLoader.readFile(file); - mail.setProductDesc((String)map.get("productDesc")); - mail.setProductID((String)map.get("productID")); - mail.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mail.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mail.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - - } - - protected void setLoadQuery() throws Exception { - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + mail.getProductID() + "' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - - protected void setMessage(HashMap userInfo) throws IOException { - String name = (String) userInfo.get(Constant.NAME_KEY); - mail.setSubject("您关注的产品降价了"); - mail.setMessage("尊敬的 " + name + ", 您关注的产品 " + mail.getProductDesc() + " 降价了,欢迎购买!"); - } - - protected void configureEMail(HashMap userInfo) throws IOException { - mail.setToAddress((String) userInfo.get(Constant.EMAIL_KEY)); - if (mail.getToAddress().length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1158154002/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 373f3ee306..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1158154002/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 91a5c0328c..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - protected HandlerEmail hanlder; - - public static void main(String[] args) throws Exception { - - File f = new File( - "D:\\mygit\\coding2017\\students\\1158154002\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - hanlder = new HandlerEmail(file); - hanlder.setLoadQuery(); - sendEMails(mailDebug, hanlder.loadMailingList()); - - } - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - hanlder.configureEMail((HashMap) iter.next()); - try { - if (hanlder.mail.getToAddress().length() > 0) - MailUtil.sendEmail(hanlder.mail.getToAddress(), hanlder.mail.getFromAddress(), hanlder.mail.getSubject(), - hanlder.mail.getMessage(), hanlder.mail.getSmtpHost(), debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(hanlder.mail.getToAddress(), hanlder.mail.getFromAddress(), hanlder.mail.getSubject(), - hanlder.mail.getMessage(), hanlder.mail.getAltSmtpHost(), debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/api/FileLoader.java b/students/1158154002/src/main/java/com/coderising/ood/srp/api/FileLoader.java deleted file mode 100644 index d864d5e74e..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/api/FileLoader.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.coderising.ood.srp.api; - -import java.io.File; -import java.util.Map; - -public interface FileLoader { - Map readFile(File file); -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/model/Constant.java b/students/1158154002/src/main/java/com/coderising/ood/srp/model/Constant.java deleted file mode 100644 index ad6258531e..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/model/Constant.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.coderising.ood.srp.model; - -public class Constant { - public static final String NAME_KEY = "NAME"; - public static final String EMAIL_KEY = "EMAIL"; -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/model/Mail.java b/students/1158154002/src/main/java/com/coderising/ood/srp/model/Mail.java deleted file mode 100644 index c6715e4385..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/model/Mail.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.coderising.ood.srp.model; - -public class Mail { - private String smtpHost; - private String altSmtpHost; - private String fromAddress; - private String toAddress; - private String subject; - private String message; - private String productID; - private String productDesc; - - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - -} diff --git a/students/1158154002/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1158154002/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1158154002/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1170794299/README.MD b/students/1170794299/README.MD deleted file mode 100644 index f29dee6099..0000000000 --- a/students/1170794299/README.MD +++ /dev/null @@ -1 +0,0 @@ -测试 diff --git a/students/1204187480/.gitignore b/students/1204187480/.gitignore deleted file mode 100644 index 2a5296f902..0000000000 --- a/students/1204187480/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -*.class -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -#ide config -.metadata -.recommenders -.idea/ -*.iml -rebel.* -.rebel.* - -target diff --git a/students/1204187480/code/homework/.gitignore b/students/1204187480/code/homework/.gitignore deleted file mode 100644 index 2a5296f902..0000000000 --- a/students/1204187480/code/homework/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -*.class -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -#ide config -.metadata -.recommenders -.idea/ -*.iml -rebel.* -.rebel.* - -target diff --git a/students/1204187480/code/homework/coderising/pom.xml b/students/1204187480/code/homework/coderising/pom.xml deleted file mode 100644 index d7d922d4d8..0000000000 --- a/students/1204187480/code/homework/coderising/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - 4.0.0 - coderising - - com.coding - parent - 1.0-SNAPSHOT - ../parent/pom.xml - - - - 2.1 - - - - - - commons-digester - commons-digester - ${commons-digester.version} - - - - - \ No newline at end of file diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/AccessFlag.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/AccessFlag.java deleted file mode 100644 index 6b60e0bed2..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/AccessFlag.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.jvm.clz; - -/** - * Created by luoziyihao on 5/23/17. - */ -public class AccessFlag { -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassFile.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassFile.java deleted file mode 100644 index 855bf9c7e0..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassFile.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.jvm.clz; - -/** - * Created by luoziyihao on 5/23/17. - */ -public class ClassFile { -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassIndex.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassIndex.java deleted file mode 100644 index 7b177aa12f..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/clz/ClassIndex.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.jvm.clz; - -/** - * Created by luoziyihao on 5/23/17. - */ -public class ClassIndex { - - String minorVersion; - String majorVersion; -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileLoader.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileLoader.java deleted file mode 100644 index 1c5f8196e8..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileLoader.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.coderising.jvm.loader; - - -import com.coding.common.util.FileUtils2; -import org.apache.commons.lang3.StringUtils; -import strman.Strman; - -import java.io.File; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; - -import static com.coding.common.util.FileUtils2.getCanonicalPath; -import static org.apache.commons.lang3.StringUtils.replace; -import static org.apache.commons.lang3.StringUtils.substringAfter; - -/** - * Created by luoziyihao on 4/27/17. - */ -public class ClassFileLoader { - - private List clzPaths; - - private Map clzContext; - - public void addClassPath(String path) { - if (clzPaths == null) { - clzPaths = new ArrayList<>(5); - } - if (StringUtils.isBlank(path)) { - return; - } - File file = new File(path); - if (!file.isDirectory()) { - return; - } - String canonicalName = getCanonicalPath(file); - if (clzPaths.contains(canonicalName)) { - return; - } - clzPaths.add(getCanonicalPath(file)); - } - - - private static final String SPLIT = ";"; - - public String getClassPath() { - StringBuilder classPath = new StringBuilder(); - - for (String e : clzPaths) { - classPath.append(e) - .append(SPLIT); - } - if (classPath.length() > 1) { - classPath.deleteCharAt(classPath.length() - 1); - } - return classPath.toString(); - } - - private static final String CLZ_SUFFIX = ".class"; - - public byte[] readBinaryCode(String className) { - if (StringUtils.isBlank(className)) { - throw new IllegalStateException("className is blank"); - } - byte[] binaryCode = getClzContext().get(Strman.append(className, CLZ_SUFFIX)); - if (binaryCode == null) { - throw new IllegalStateException( - Strman.format("className={0} is not found in classpath", className)); - } - return binaryCode; - } - - private Map getClzContext() { - if (clzContext == null) { - clzContext = createClzContextWithClzPaths(clzPaths); - } - return clzContext; - } - - private Map createClzContextWithClzPaths(List clzPaths) { - Map clzContext = new ConcurrentHashMap<>(60); - for (String e : clzPaths) { - File file = new File(e); - if (file.isDirectory()) { - List files = FileUtils2.listAllFiles(file); - clzContext = addClassElements(clzContext, e, files); - } - } - return clzContext; - } - - private Map addClassElements(Map clzContext, String classpath, List files) { - for (File classFile : files) { - String filePath = getCanonicalPath(classFile); - String canonicalName = getCanonicalName(classpath, filePath); - byte[] bytes = FileUtils2.getBytes(classFile); - clzContext.put(canonicalName, bytes); - } - return clzContext; - } - - /** - * 将classpath 下的文件路径转成 a.b.c.class 的格式 - */ - private static final String POINT = "."; - - private String getCanonicalName(String classpath, String filePath) { - String tmp = replace(substringAfter(filePath, classpath), File.separator, POINT); - if (tmp.startsWith(POINT)) { - tmp = StringUtils.removeStart(tmp, POINT); - } - return tmp; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileParser.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileParser.java deleted file mode 100644 index 9c77821341..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileParser.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.jvm.loader; - -/** - * Created by luoziyihao on 5/23/17. - */ -public class ClassFileParser { -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/LoginAction.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/LoginAction.java deleted file mode 100644 index dcdbe226ed..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/LoginAction.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.litestruts; - -/** - * 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。 - * @author liuxin - * - */ -public class LoginAction{ - private String name ; - private String password; - private String message; - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - public String execute(){ - if("test".equals(name) && "1234".equals(password)){ - this.message = "login successful"; - return "success"; - } - this.message = "login failed,please check your user/pwd"; - return "fail"; - } - - public void setName(String name){ - this.name = name; - } - public void setPassword(String password){ - this.password = password; - } - public String getMessage(){ - return this.message; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/Struts.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/Struts.java deleted file mode 100644 index 0b238b2db0..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/Struts.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.coderising.litestruts; - -import com.coderising.litestruts.parser.ActionConfig; -import com.coderising.litestruts.parser.DefaultStrutsParser; -import com.coderising.litestruts.parser.StrutsConfig; -import com.coderising.litestruts.parser.StrutsParser; -import com.coding.common.util.BeanUtils; - -import java.util.Map; - - -public class Struts { - - private static StrutsParser strutsParser = new DefaultStrutsParser(); - - private static final String STRUTS_CONFIG_PATH = "struts.xml"; - private static final BeanUtils beanUtils = new BeanUtils(); - - public static View runAction(String actionName, Map parameters) { - - /* - - 0. 读取配置文件struts.xml - - 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - - 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - - 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - - 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - - */ - - /** - * 0. 读取配置文件struts.xml - */ - StrutsConfig strutsConfig = strutsParser.parser(STRUTS_CONFIG_PATH); - ActionConfig actionConfig = strutsConfig.getActions().get(actionName); - /** - * 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - */ - Object action = setPropertiesForAction(actionConfig, actionName, parameters); - - /** - * 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - */ - String resultName = doExecute(action); - /** - * 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - */ - View view = createViewAndSetParameters(action); - /** - * 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - */ - setViewValue(view, resultName, actionConfig); - return view; - } - - private static void setViewValue(View view, String resultName, ActionConfig config) { - view.setJsp(config.getResults().get(resultName).getView()); - } - - private static View createViewAndSetParameters(Object action) { - View view = new View(); - view.setParameters(beanUtils.describe(action)); - return view; - } - - private static String doExecute(Object action) { - return (String) beanUtils.invokeWithNoParamter("execute", action); - } - - private static Object setPropertiesForAction(ActionConfig actionConfig, String actionName, Map parameters) { - Object action = createInstance(findActionClass(actionConfig.getClassName())); - for (Map.Entry entry : parameters.entrySet()) { - setProperty(entry.getKey(), entry.getValue(), action); - } - return action; - } - - /** - * todo 校验 key 是否存在 - * - * @param key - * @param value - * @param action - */ - private static void setProperty(String key, String value, Object action) { - beanUtils.setPara(value, key, action); - } - - private static Object createInstance(Class classValue) { - try { - return classValue.newInstance(); - } catch (InstantiationException | IllegalAccessException e) { - throw new IllegalStateException(e); - } - } - - private static Class findActionClass(String className) { - try { - return Class.forName(className); - } catch (ClassNotFoundException e) { - throw new IllegalStateException(e); - } - } - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/StrutsTest.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/StrutsTest.java deleted file mode 100644 index b8c81faf3c..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/StrutsTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.litestruts; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; - - - - - -public class StrutsTest { - - @Test - public void testLoginActionSuccess() { - - String actionName = "login"; - - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); - Assert.assertEquals("login successful", view.getParameters().get("message")); - } - - @Test - public void testLoginActionFailed() { - String actionName = "login"; - Map params = new HashMap(); - params.put("name","test"); - params.put("password","123456"); //密码和预设的不一致 - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); - Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/View.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/View.java deleted file mode 100644 index 07df2a5dab..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/View.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - -public class View { - private String jsp; - private Map parameters; - - public String getJsp() { - return jsp; - } - public View setJsp(String jsp) { - this.jsp = jsp; - return this; - } - public Map getParameters() { - return parameters; - } - public View setParameters(Map parameters) { - this.parameters = parameters; - return this; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/ActionConfig.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/ActionConfig.java deleted file mode 100644 index 4aaba284fb..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/ActionConfig.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coderising.litestruts.parser; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class ActionConfig { - private String name; - private String className; - private Map results = new HashMap<>(10); - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getClassName() { - return className; - } - - public void setClassName(String className) { - this.className = className; - } - - public Map getResults() { - return results; - } - - public void setResults(Map results) { - this.results = results; - } - - public void addResult(Result result) { - this.results.put(result.getName(), result); - } - - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/DefaultStrutsParser.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/DefaultStrutsParser.java deleted file mode 100644 index ea58507738..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/DefaultStrutsParser.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.litestruts.parser; - -import com.alibaba.fastjson.JSON; -import org.apache.commons.digester.Digester; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.xml.sax.SAXException; - -import java.io.File; -import java.io.IOException; - -/** - * 解析 struts.xml 文件 - * @apiNote 借鉴 http://www.everycoding.com/coding/78.html; http://blog.csdn.net/caihaijiang/article/details/5944955 - * Created by luoziyihao on 3/5/17. - */ -public class DefaultStrutsParser implements StrutsParser { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Override - public StrutsConfig parser(String filePathInClasspath) { - String path = this.getClass().getClassLoader().getResource(filePathInClasspath).getPath(); - File input = new File(path); - Digester digester = new Digester(); - // 创建 StrutsConfig 对象 - digester.addObjectCreate("struts", StrutsConfig.class); - // 将 struts 节点上的attribute属性映射到 StrutsConfig 对象的属性上 - digester.addSetProperties("struts"); - digester.addObjectCreate("struts/action", ActionConfig.class); - // 将 struts/action 节点上的attribute属性映射到 Action 对象的属性上, 并自定义属性映射 - digester.addSetProperties("struts/action" - , new String[]{"name", "class"}, new String[]{"name", "className"}); - digester.addObjectCreate("struts/action/result", Result.class); - digester.addSetProperties("struts/action/result" - , new String[]{"name"}, new String[]{"name"}); - // 将 struts/action/result 节点上的body属性映射到 Result 对象的属性上 - digester.addCallMethod("struts/action/result", "setView", 0); - // 对应struts/action/result 生成的对象添加到 Action中 - digester.addSetNext("struts/action/result", "addResult"); - // 对应struts/action 生成的对象添加到 Struts中 - digester.addSetNext("struts/action", "addAction"); - - try { - StrutsConfig strutsConfig = (StrutsConfig) digester.parse(input); - logger.debug("strutsConfig={}", JSON.toJSONString(strutsConfig)); - return strutsConfig; - } catch (IOException | SAXException e) { - throw new IllegalStateException(e); - } - - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/Result.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/Result.java deleted file mode 100644 index c402418e6b..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/Result.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.litestruts.parser; - -public class Result { - private String name; - private String view; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getView() { - return view; - } - - public void setView(String view) { - this.view = view; - } -} \ No newline at end of file diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsConfig.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsConfig.java deleted file mode 100644 index 88f769157e..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts.parser; - -import java.util.HashMap; -import java.util.Map; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class StrutsConfig { - public Map actions = new HashMap<>(10); - - public Map getActions() { - return actions; - } - - public void setActions(Map actions) { - this.actions = actions; - } - - public void addAction(ActionConfig action) { - this.actions.put(action.getName(), action); - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsParser.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsParser.java deleted file mode 100644 index ab7358c777..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/litestruts/parser/StrutsParser.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.coderising.litestruts.parser; - -/** - * Created by luoziyihao on 3/5/17. - */ -public interface StrutsParser { - StrutsConfig parser(String filePathInClasspath); -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/Product.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/Product.java deleted file mode 100644 index 3aef295085..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/Product.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp.optimize; - -/** - * 产品对象 - * Created by luoziyihao on 6/12/17. - */ - -public class Product { - private String productID; - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/ProductParser.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/ProductParser.java deleted file mode 100644 index 080c999ffa..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/ProductParser.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp.optimize; - -import java.util.List; -import java.util.stream.Collectors; - -import static com.coding.common.util.FileUtils2.openStream; -import static com.coding.common.util.IOUtils2.readToStringList; - -/** - * 产品文件解析器 - * Created by luoziyihao on 6/12/17. - */ -public class ProductParser { - - public List parse(String productClassPath) { - List stringList = readToStringList(openStream(productClassPath)); - return stringList.stream() - .map(String::trim) - .filter(s -> !s.isEmpty()) - .filter(s -> s.contains(SPLIT_STRING)) - .map(this::parseLine) - .collect(Collectors.toList()); - - } - - private static final String SPLIT_STRING = " "; - - private Product parseLine(String s) { - int index = s.indexOf(SPLIT_STRING); - String productID = s.substring(0, index); - String productDesc = s.substring(index); - Product product = new Product(); - product.setProductDesc(productDesc); - product.setProductID(productID); - return product; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailApp.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailApp.java deleted file mode 100644 index 6ee832307a..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailApp.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.optimize; - -import java.util.List; - -/** - * main 函数启动类 - * Created by luoziyihao on 6/12/17. - */ -public class PromotionMailApp { - - public static void main(String args[]) { - List products = new ProductParser().parse("product_promotion.txt"); - - List users = new UserService().loadMailingList(); - - List promotionMailClaims = new PromotionMailClaim() - .load(products, users, new SmptPropeties(), true); - - new PromotionMailableBehavior().send(promotionMailClaims); - - } - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailClaim.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailClaim.java deleted file mode 100644 index 189b3ced17..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailClaim.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.coderising.ood.srp.optimize; - -import java.util.ArrayList; -import java.util.List; - -/** - * 发发送邮件的必要参数 vo - * Created by luoziyihao on 6/12/17. - */ -public class PromotionMailClaim { - private String toAddress; - private String fromAddress; - private String subject; - private String message; - private String smtpHost; - private String altSmtpHost; - private Boolean mailDebug; - - private PromotionMailClaim init(Product product, User user, SmptPropeties smptPropeties, Boolean mailDebug) { - this.toAddress = user.getEmail(); - this.fromAddress = smptPropeties.getFromAddress(); - this.subject = "您关注的产品降价了"; - this.message = "尊敬的 " + user.getName() + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - this.smtpHost = smptPropeties.getSmtpHost(); - this.altSmtpHost = smptPropeties.getAltSmtpHost(); - this.mailDebug = mailDebug; - return this; - } - - public List load(List products, List users, SmptPropeties smptPropeties - , boolean mailDebug) { - List promotionMailClaims = new ArrayList<>(); - for (Product product : products) { - for (User user : users) { - PromotionMailClaim promotionMailClaim = new PromotionMailClaim() - .init(product, user, smptPropeties, mailDebug); - promotionMailClaims.add(promotionMailClaim); - } - } - return promotionMailClaims; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public Boolean getMailDebug() { - return mailDebug; - } - - public void setMailDebug(Boolean mailDebug) { - this.mailDebug = mailDebug; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailableBehavior.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailableBehavior.java deleted file mode 100644 index ad37998e45..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/PromotionMailableBehavior.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coderising.ood.srp.optimize; - -import java.util.List; - -/** - * 发邮件的行为类 - * Created by luoziyihao on 6/12/17. - */ -public class PromotionMailableBehavior { - - public void send(List emailSendClaimList) { - for (PromotionMailClaim promotionMailClaim : emailSendClaimList) { - sendEmailForOneClaim(promotionMailClaim); - } - } - - private void sendEmailForOneClaim(PromotionMailClaim promotionMailClaim) { - System.out.println("开始发送邮件"); - - try { - doSendMail(promotionMailClaim); - } catch (Exception e) { - try { - promotionMailClaim.setSmtpHost(promotionMailClaim.getAltSmtpHost()); - doSendMail(promotionMailClaim); - } catch (Exception e1) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e.getMessage()); - } - } - } - - private void doSendMail(PromotionMailClaim promotionMailClaim) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(promotionMailClaim.getFromAddress()).append("\n"); - buffer.append("To:").append(promotionMailClaim.getToAddress()).append("\n"); - buffer.append("Subject:").append(promotionMailClaim.getSubject()).append("\n"); - buffer.append("Content:").append(promotionMailClaim.getMessage()).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/SmptPropeties.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/SmptPropeties.java deleted file mode 100644 index c6664fafc3..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/SmptPropeties.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coderising.ood.srp.optimize; - -/** - * 邮件服务器配置类 - * Created by luoziyihao on 6/12/17. - */ -public class SmptPropeties { - private String smtpHost = "smtp.server";; - private String altSmtpHost = "smtp1.163.com"; - private String fromAddress = " admin@company.com"; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/User.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/User.java deleted file mode 100644 index 996efadbb6..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/User.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp.optimize; - -/** - * 用户类 - * Created by luoziyihao on 6/12/17. - */ -public class User { - private String name; - private String email; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/UserService.java b/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/UserService.java deleted file mode 100644 index f5da2d3908..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/java/com/coderising/ood/srp/optimize/UserService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp.optimize; - -import java.util.ArrayList; -import java.util.List; - -/** - * 用户service, 管理用户的数据 - * Created by luoziyihao on 6/12/17. - */ -public class UserService { - - List loadMailingList() { - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setName("User" + i); - user.setEmail("aa@bb.com"); - userList.add(user); - } - return userList; - } -} diff --git a/students/1204187480/code/homework/coderising/src/main/resources/product_promotion.txt b/students/1204187480/code/homework/coderising/src/main/resources/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git a/students/1204187480/code/homework/coderising/src/main/resources/struts.xml b/students/1204187480/code/homework/coderising/src/main/resources/struts.xml deleted file mode 100644 index 876156eb4d..0000000000 --- a/students/1204187480/code/homework/coderising/src/main/resources/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ComputeTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ComputeTest.java deleted file mode 100644 index f02816a555..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ComputeTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.api; - -import org.junit.Test; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class ComputeTest { - - @Test - public void testDivisionExactly(){ - System.out.println( 7 >> 1); - System.out.println( -5 >> 2); - System.out.println( -5 << 2); - } - - @Test - public void testSqrt() { - System.out.println(Math.sqrt(10)); - } -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/CycleTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/CycleTest.java deleted file mode 100644 index 6abb5d925d..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/CycleTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.api; - -import org.junit.Test; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class CycleTest { - - /** - * checkIndex will be excuted in each cycle - */ - @Test - public void testForSize() { - int[] arr = new int[]{1, 2, 3, 4, 54}; - for (int i = 0; checkIndex(i, arr); i++ ) { - - } - } - - private boolean checkIndex(int i, int[] arr) { - System.out.println(i); - return i < arr.length; - } -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/FileTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/FileTest.java deleted file mode 100644 index bd918a011c..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/FileTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.api; - -import lombok.extern.slf4j.Slf4j; -import org.junit.Assert; -import org.junit.Test; - -import java.io.File; -import java.io.IOException; - -/** - * Created by luoziyihao on 4/28/17. - */ -@Slf4j -public class FileTest { - - @Test - public void testFile() { - File file = new File("./hahah"); - Assert.assertFalse(file.isDirectory()); - - } - - @Test - public void testAbsolutePath() throws IOException { - File file = new File("../src"); - log.info("isDirectory={}", file.isDirectory()); - log.info(file.getAbsolutePath()); - log.info(file.getCanonicalPath()); - log.info(file.getName()); - log.info(file.getPath()); - } -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ObjectTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ObjectTest.java deleted file mode 100644 index 06cd373de5..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/ObjectTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.api; - -import lombok.extern.slf4j.Slf4j; -import org.junit.Test; - -/** - * Created by luoziyihao on 5/2/17. - */ -@Slf4j -public class ObjectTest { - @Test - public void test(){ - Object a[] = {1}; - log.info(a.getClass().getName()); - log.info(a.getClass().getCanonicalName()); - log.info(a.getClass().getSimpleName()); - } -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/StrmanTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/StrmanTest.java deleted file mode 100644 index 6831eb0ad6..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/api/StrmanTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.api; - -import org.junit.Test; -import strman.Strman; - -/** - * Created by luoziyihao on 5/3/17. - */ -public class StrmanTest { - - @Test - public void testFormat() { - - System.out.println(Strman.format("className is not found in classpath, className={1}", ",333 ","cccc")); - - } -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/ClassFileloaderTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/ClassFileloaderTest.java deleted file mode 100644 index b7c5bab54e..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/ClassFileloaderTest.java +++ /dev/null @@ -1,354 +0,0 @@ -package com.coderising.jvm.test; - -import java.io.File; -import java.util.List; - -import ch.qos.logback.core.encoder.ByteArrayUtil; -import com.coding.common.util.ByteUtils; -import com.coding.common.util.FileUtils2; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -//import com.coderising.jvm.clz.ClassFile; -//import com.coderising.jvm.clz.ClassIndex; -//import com.coderising.jvm.cmd.BiPushCmd; -//import com.coderising.jvm.cmd.ByteCodeCommand; -//import com.coderising.jvm.cmd.OneOperandCmd; -//import com.coderising.jvm.cmd.TwoOperandCmd; -//import com.coderising.jvm.constant.ClassInfo; -//import com.coderising.jvm.constant.ConstantPool; -//import com.coderising.jvm.constant.MethodRefInfo; -//import com.coderising.jvm.constant.NameAndTypeInfo; -//import com.coderising.jvm.constant.UTF8Info; -//import com.coderising.jvm.field.Field; -import com.coderising.jvm.loader.ClassFileLoader; - -import static com.coding.common.util.FileUtils2.getCanonicalPath; -//import com.coderising.jvm.method.Method; - - - - - -public class ClassFileloaderTest { - - - private static final String FULL_QUALIFIED_CLASS_NAME = "com/coderising/jvm/test/EmployeeV1"; - - static String path1 = "target/classes"; - static String path2 = "target/test-classes"; - -// static ClassFile clzFile = null; -// static { -// ClassFileLoader loader = new ClassFileLoader(); -// loader.addClassPath(path1); -// String className = "com.coderising.jvm.test.EmployeeV1"; -// -// clzFile = loader.loadClass(className); -// -// } - - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - private void addClassPath(ClassFileLoader loader) { - loader.addClassPath(path1); - loader.addClassPath(path2); - } - - @Test - public void testClassPath(){ - - ClassFileLoader loader = new ClassFileLoader(); - addClassPath(loader); - String clzPath = loader.getClassPath(); - - Assert.assertEquals(getCanonicalPath(new File(path1))+";"+getCanonicalPath(new File(path2)),clzPath); - - } - - @Test - public void testClassFileLength() { - - ClassFileLoader loader = new ClassFileLoader(); - addClassPath(loader); - - String className = "com.coderising.jvm.test.EmployeeV1"; - - byte[] byteCodes = loader.readBinaryCode(className); - - // 注意:这个字节数可能和你的JVM版本有关系, 你可以看看编译好的类到底有多大 - Assert.assertEquals(1056, byteCodes.length); - - } - - - @Test - public void testMagicNumber(){ - ClassFileLoader loader = new ClassFileLoader(); - addClassPath(loader); - String className = "com.coderising.jvm.test.EmployeeV1"; - byte[] byteCodes = loader.readBinaryCode(className); - byte[] codes = new byte[]{byteCodes[0],byteCodes[1],byteCodes[2],byteCodes[3]}; - - - String acctualValue = this.byteToHexString(codes); - - Assert.assertEquals("cafebabe", acctualValue); - } - - - - private String byteToHexString(byte[] codes ){ - return ByteUtils.byteToHexString(codes); - } - -// add comment for behind test -// /** -// * ---------------------------------------------------------------------- -// */ -// -// -// @Test -// public void testVersion(){ -// -// Assert.assertEquals(0, clzFile.getMinorVersion()); -// Assert.assertEquals(52, clzFile.getMajorVersion()); -// -// } -// -// @Test -// public void testConstantPool(){ -// -// -// ConstantPool pool = clzFile.getConstantPool(); -// -// Assert.assertEquals(53, pool.getSize()); -// -// { -// ClassInfo clzInfo = (ClassInfo) pool.getConstantInfo(1); -// Assert.assertEquals(2, clzInfo.getUtf8Index()); -// -// UTF8Info utf8Info = (UTF8Info) pool.getConstantInfo(2); -// Assert.assertEquals(FULL_QUALIFIED_CLASS_NAME, utf8Info.getValue()); -// } -// { -// ClassInfo clzInfo = (ClassInfo) pool.getConstantInfo(3); -// Assert.assertEquals(4, clzInfo.getUtf8Index()); -// -// UTF8Info utf8Info = (UTF8Info) pool.getConstantInfo(4); -// Assert.assertEquals("java/lang/Object", utf8Info.getValue()); -// } -// { -// UTF8Info utf8Info = (UTF8Info) pool.getConstantInfo(5); -// Assert.assertEquals("name", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(6); -// Assert.assertEquals("Ljava/lang/String;", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(7); -// Assert.assertEquals("age", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(8); -// Assert.assertEquals("I", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(9); -// Assert.assertEquals("", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(10); -// Assert.assertEquals("(Ljava/lang/String;I)V", utf8Info.getValue()); -// -// utf8Info = (UTF8Info) pool.getConstantInfo(11); -// Assert.assertEquals("Code", utf8Info.getValue()); -// } -// -// { -// MethodRefInfo methodRef = (MethodRefInfo)pool.getConstantInfo(12); -// Assert.assertEquals(3, methodRef.getClassInfoIndex()); -// Assert.assertEquals(13, methodRef.getNameAndTypeIndex()); -// } -// -// { -// NameAndTypeInfo nameAndType = (NameAndTypeInfo) pool.getConstantInfo(13); -// Assert.assertEquals(9, nameAndType.getIndex1()); -// Assert.assertEquals(14, nameAndType.getIndex2()); -// } -// //抽查几个吧 -// { -// MethodRefInfo methodRef = (MethodRefInfo)pool.getConstantInfo(45); -// Assert.assertEquals(1, methodRef.getClassInfoIndex()); -// Assert.assertEquals(46, methodRef.getNameAndTypeIndex()); -// } -// -// { -// UTF8Info utf8Info = (UTF8Info) pool.getConstantInfo(53); -// Assert.assertEquals("EmployeeV1.java", utf8Info.getValue()); -// } -// } -// @Test -// public void testClassIndex(){ -// -// ClassIndex clzIndex = clzFile.getClzIndex(); -// ClassInfo thisClassInfo = (ClassInfo)clzFile.getConstantPool().getConstantInfo(clzIndex.getThisClassIndex()); -// ClassInfo superClassInfo = (ClassInfo)clzFile.getConstantPool().getConstantInfo(clzIndex.getSuperClassIndex()); -// -// -// Assert.assertEquals(FULL_QUALIFIED_CLASS_NAME, thisClassInfo.getClassName()); -// Assert.assertEquals("java/lang/Object", superClassInfo.getClassName()); -// } -// -// /** -// * 下面是第三次JVM课应实现的测试用例 -// */ -// @Test -// public void testReadFields(){ -// -// List fields = clzFile.getFields(); -// Assert.assertEquals(2, fields.size()); -// { -// Field f = fields.get(0); -// Assert.assertEquals("name:Ljava/lang/String;", f.toString()); -// } -// { -// Field f = fields.get(1); -// Assert.assertEquals("age:I", f.toString()); -// } -// } -// @Test -// public void testMethods(){ -// -// List methods = clzFile.getMethods(); -// ConstantPool pool = clzFile.getConstantPool(); -// -// { -// Method m = methods.get(0); -// assertMethodEquals(pool,m, -// "", -// "(Ljava/lang/String;I)V", -// "2ab7000c2a2bb5000f2a1cb50011b1"); -// -// } -// { -// Method m = methods.get(1); -// assertMethodEquals(pool,m, -// "setName", -// "(Ljava/lang/String;)V", -// "2a2bb5000fb1"); -// -// } -// { -// Method m = methods.get(2); -// assertMethodEquals(pool,m, -// "setAge", -// "(I)V", -// "2a1bb50011b1"); -// } -// { -// Method m = methods.get(3); -// assertMethodEquals(pool,m, -// "sayHello", -// "()V", -// "b2001c1222b60024b1"); -// -// } -// { -// Method m = methods.get(4); -// assertMethodEquals(pool,m, -// "main", -// "([Ljava/lang/String;)V", -// "bb000159122b101db7002d4c2bb6002fb1"); -// } -// } -// -// private void assertMethodEquals(ConstantPool pool,Method m , String expectedName, String expectedDesc,String expectedCode){ -// String methodName = pool.getUTF8String(m.getNameIndex()); -// String methodDesc = pool.getUTF8String(m.getDescriptorIndex()); -// String code = m.getCodeAttr().getCode(); -// Assert.assertEquals(expectedName, methodName); -// Assert.assertEquals(expectedDesc, methodDesc); -// Assert.assertEquals(expectedCode, code); -// } -// -// @Test -// public void testByteCodeCommand(){ -// { -// Method initMethod = this.clzFile.getMethod("", "(Ljava/lang/String;I)V"); -// ByteCodeCommand [] cmds = initMethod.getCmds(); -// -// assertOpCodeEquals("0: aload_0", cmds[0]); -// assertOpCodeEquals("1: invokespecial #12", cmds[1]); -// assertOpCodeEquals("4: aload_0", cmds[2]); -// assertOpCodeEquals("5: aload_1", cmds[3]); -// assertOpCodeEquals("6: putfield #15", cmds[4]); -// assertOpCodeEquals("9: aload_0", cmds[5]); -// assertOpCodeEquals("10: iload_2", cmds[6]); -// assertOpCodeEquals("11: putfield #17", cmds[7]); -// assertOpCodeEquals("14: return", cmds[8]); -// } -// -// { -// Method setNameMethod = this.clzFile.getMethod("setName", "(Ljava/lang/String;)V"); -// ByteCodeCommand [] cmds = setNameMethod.getCmds(); -// -// assertOpCodeEquals("0: aload_0", cmds[0]); -// assertOpCodeEquals("1: aload_1", cmds[1]); -// assertOpCodeEquals("2: putfield #15", cmds[2]); -// assertOpCodeEquals("5: return", cmds[3]); -// -// } -// -// { -// Method sayHelloMethod = this.clzFile.getMethod("sayHello", "()V"); -// ByteCodeCommand [] cmds = sayHelloMethod.getCmds(); -// -// assertOpCodeEquals("0: getstatic #28", cmds[0]); -// assertOpCodeEquals("3: ldc #34", cmds[1]); -// assertOpCodeEquals("5: invokevirtual #36", cmds[2]); -// assertOpCodeEquals("8: return", cmds[3]); -// -// } -// -// { -// Method mainMethod = this.clzFile.getMainMethod(); -// -// ByteCodeCommand [] cmds = mainMethod.getCmds(); -// -// assertOpCodeEquals("0: new #1", cmds[0]); -// assertOpCodeEquals("3: dup", cmds[1]); -// assertOpCodeEquals("4: ldc #43", cmds[2]); -// assertOpCodeEquals("6: bipush 29", cmds[3]); -// assertOpCodeEquals("8: invokespecial #45", cmds[4]); -// assertOpCodeEquals("11: astore_1", cmds[5]); -// assertOpCodeEquals("12: aload_1", cmds[6]); -// assertOpCodeEquals("13: invokevirtual #47", cmds[7]); -// assertOpCodeEquals("16: return", cmds[8]); -// } -// -// } -// -// private void assertOpCodeEquals(String expected, ByteCodeCommand cmd){ -// -// String acctual = cmd.getOffset()+": "+cmd.getReadableCodeText(); -// -// if(cmd instanceof OneOperandCmd){ -// if(cmd instanceof BiPushCmd){ -// acctual += " " + ((OneOperandCmd)cmd).getOperand(); -// } else{ -// acctual += " #" + ((OneOperandCmd)cmd).getOperand(); -// } -// } -// if(cmd instanceof TwoOperandCmd){ -// acctual += " #" + ((TwoOperandCmd)cmd).getIndex(); -// } -// Assert.assertEquals(expected, acctual); -// } - -} diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/EmployeeV1.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/EmployeeV1.java deleted file mode 100644 index 12e3d7efdd..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/jvm/test/EmployeeV1.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.jvm.test; - -public class EmployeeV1 { - - - private String name; - private int age; - - public EmployeeV1(String name, int age) { - this.name = name; - this.age = age; - } - - public void setName(String name) { - this.name = name; - } - public void setAge(int age){ - this.age = age; - } - public void sayHello() { - System.out.println("Hello , this is class Employee "); - } - public static void main(String[] args){ - EmployeeV1 p = new EmployeeV1("Andy",29); - p.sayHello(); - - } -} \ No newline at end of file diff --git a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/litestruts/parser/StructsParserTest.java b/students/1204187480/code/homework/coderising/src/test/java/com/coderising/litestruts/parser/StructsParserTest.java deleted file mode 100644 index 72e841a230..0000000000 --- a/students/1204187480/code/homework/coderising/src/test/java/com/coderising/litestruts/parser/StructsParserTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.litestruts.parser; - -import org.junit.Test; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class StructsParserTest { - @Test - public void parser() throws Exception { - new DefaultStrutsParser().parser("struts.xml"); - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/coding/pom.xml b/students/1204187480/code/homework/coding/pom.xml deleted file mode 100644 index 08acfc3528..0000000000 --- a/students/1204187480/code/homework/coding/pom.xml +++ /dev/null @@ -1,12 +0,0 @@ - - 4.0.0 - coding - - com.coding - parent - 1.0-SNAPSHOT - ../parent/pom.xml - - - \ No newline at end of file diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/BinaryTreeNode.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/BinaryTreeNode.java deleted file mode 100644 index d7ac820192..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/BinaryTreeNode.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coding.basic; - -public class BinaryTreeNode { - - private Object data; - private BinaryTreeNode left; - private BinaryTreeNode right; - - public Object getData() { - return data; - } - public void setData(Object data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Iterator.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/List.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/List.java deleted file mode 100644 index ef939ae2cc..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/List.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index, Object o); - public Object get(int index); - public Object remove(int index); - public int size(); - public Iterator iterator(); -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Queue.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Queue.java deleted file mode 100644 index e333496198..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Queue.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.basic; - -import com.coding.basic.linklist.LinkedList; - -public class Queue { - - private LinkedList elementData = new LinkedList(); - - public void enQueue(Object o){ - elementData.add(o); - } - - public Object deQueue(){ - return elementData.remove(0); - } - - public boolean isEmpty(){ - return size() == 0; - } - - public int size(){ - return elementData.size(); - } -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Stack.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Stack.java deleted file mode 100644 index 7336dccfe9..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/Stack.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coding.basic; - -import com.coding.basic.array.ArrayList; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - elementData.add(o); - } - - public Object pop(){ - if (isEmpty()) { - throw new IllegalStateException("the stack is empty"); - } - return elementData.remove(elementData.size() - 1); - } - - public Object peek(){ - if (isEmpty()) { - throw new IllegalStateException("the stack is empty"); - } - return elementData.get(elementData.size() - 1); - } - - public boolean isEmpty(){ - return size() == 0; - } - public int size(){ - return elementData.size(); - } -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayList.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayList.java deleted file mode 100644 index cbe1f87a05..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayList.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -import java.util.Arrays; - -public class ArrayList implements List { - - private int size = 0; - - private Object[] elementData = new Object[100]; - - private Iterator iterator = new ArrayListIterator(); - - private int length() { - return elementData.length; - } - - private static final int ENLARGE_LENGTH = 100; - - private Object[] enlarge(Object[] origin) { - return Arrays.copyOf(origin, origin.length + ENLARGE_LENGTH); - } - - private void enLargeElementData() { - if (size == length()) { - elementData = enlarge(elementData); - } - } - - public void add(Object o) { - enLargeElementData(); - elementData[size] = o; - size++; - } - - public void add(int index, Object o) { - checkForAdd(index); - enLargeElementData(); - // 备份 index 处及后面的数据 - Object[] elementsBehindIndex = backBehindElements(elementData, index); - // 给index处 设值 - elementData[index] = o; - // 追加 备份的数据 - appendElement(elementData, index, elementsBehindIndex); - size++; - } - - private void appendElement(Object[] origin, int pos, Object[] append) { - System.arraycopy(append, 0, origin, pos, append.length); - } - - private Object[] backBehindElements(Object[] elementData, int index) { - int backSize = size - index; - Object[] back = new Object[backSize]; - System.arraycopy(elementData, index, back, 0, backSize); - return back; - } - - public Object get(int index) { - checkIndex(index); - return elementData[index]; - } - - private void checkIndex(int index) { - if (index < 0 || index >= size) { - throw new ArrayIndexOutOfBoundsException(String.format("index=%s, size=%s", index, size)); - } - } - - private void checkForAdd(int index) { - if (index < 0 || index > size) { - throw new ArrayIndexOutOfBoundsException(String.format("index=%s, size=%s", index, size)); - } - } - - public Object remove(int index) { - checkIndex(index); - Object[] back = backBehindElements(elementData, index + 1); - System.arraycopy(back, 0, elementData, index, back.length); - Object ret = elementData[index]; - elementData[index] = null; - size--; - return ret; - } - - public int size() { - return size; - } - - public Iterator iterator() { - return iterator; - } - - private class ArrayListIterator implements Iterator { - - int next = 0; - - @Override - public boolean hasNext() { - return next < size; - } - - @Override - public Object next() { - return elementData[next++]; - } - } - -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayUtil.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayUtil.java deleted file mode 100644 index 42ec6efe57..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/array/ArrayUtil.java +++ /dev/null @@ -1,252 +0,0 @@ -package com.coding.basic.array; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ArrayUtil { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - /** - * 给定一个整形数组a , 对该数组的值进行置换 - 例如: a = [7, 9 , 30, 3] , 置换后为 [3, 30, 9,7] - 如果 a = [7, 9, 30, 3, 4] , 置换后为 [4,3, 30 , 9,7] - * @param origin - * @return - */ - public void reverseArray(int[] origin){ - int length = origin.length; - int mid = length >> 1; - for (int i = 0; i < mid; i++) { - int hIndex = length - 1 -i; - int l = origin[i]; - int h = origin[hIndex]; - origin[hIndex] = l; - origin[i] = h; - } - - } - - /** - * 现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} - * 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: - * {1,3,4,5,6,6,5,4,7,6,7,5} - * @param oldArray - * @return - */ - - public int[] removeZero(int[] oldArray){ - int removeValue = 0; - return removeValue(oldArray, removeValue); - } - - private int[] removeValue(int[] oldArray, int removeValue) { - int length = oldArray.length; - int[] dest = new int[length]; - int j = 0; - for(int i = 0; i < length; i++) { - int v = oldArray[i]; - if (v != removeValue) { - dest[j++] = v; - } - } - - int[] retArray = new int[j]; - System.arraycopy(dest, 0, retArray, 0, j); - return retArray; - } - - /** - * 给定两个已经排序好的整形数组, a1和a2 , 创建一个新的数组a3, 使得a3 包含a1和a2 的所有元素, 并且仍然是有序的 - * 例如 a1 = [3, 5, 7,8] a2 = [4, 5, 6,7] 则 a3 为[3,4,5,6,7,8] , 注意: 已经消除了重复 - * todo 数组 a1, b1 自身去重 - * @param array1 - * @param array2 - * @return - */ - - public int[] merge(int[] array1, int[] array2){ - int length1 = array1.length; - int length2 = array2.length; - int length = length1 + length2; - int[] newArray = new int[length]; - - return findAndSetLeastWithOutDuplicate(array1, array2, 0, 0, 0, 0, newArray); - } - - /** - * todo 优化递归出口判断, 优化三个条件判断为一个 - * @param array1 - * @param array2 - * @param i - * @param j - * @param k - * @param duplicate - * @param newArray - * @return - */ - private int[] findAndSetLeastWithOutDuplicate(int[] array1, int[] array2, int i, int j, int k, int duplicate, int[] newArray) { - - if (i == array1.length && j < array2.length) { - System.arraycopy(array2, j, newArray, k, array2.length - j); - return copyLastValues(newArray, duplicate); - } - if (j == array2.length && i < array1.length) { - System.arraycopy(array1, i, newArray, k, array1.length - i); - return copyLastValues(newArray, duplicate); - } - if (j == array2.length && i == array1.length) { - return copyLastValues(newArray, duplicate); - } - - int v1 = array1[i]; - int v2 = array2[j]; - if (v1 < v2) { - newArray [k] = v1; - return findAndSetLeastWithOutDuplicate(array1, array2, ++i, j, ++k, duplicate, newArray); - } else if (v1 > v2){ - newArray [k] = v2; - return findAndSetLeastWithOutDuplicate(array1, array2, i, ++j, ++k, duplicate, newArray); - } else { - newArray [k] = v2; - return findAndSetLeastWithOutDuplicate(array1, array2, ++i, ++j, ++k, ++duplicate, newArray); - } - - } - - private int[] copyLastValues(int[] newArray, int duplicate) { - int[] retArray = new int[newArray.length - duplicate]; - System.arraycopy(newArray, 0, retArray, 0, retArray.length); - return retArray; - } - - - /** - * 把一个已经存满数据的数组 oldArray的容量进行扩展, 扩展后的新数据大小为oldArray.length + size - * 注意,老数组的元素在新数组中需要保持 - * 例如 oldArray = [2,3,6] , size = 3,则返回的新数组为 - * [2,3,6,0,0,0] - * @param oldArray - * @param size - * @return - */ - public int[] grow(int [] oldArray, int size){ - int[] newArray = new int[oldArray.length + size]; - System.arraycopy(oldArray, 0, newArray, 0, oldArray.length); - return newArray; - } - - /** - * 斐波那契数列为:1,1,2,3,5,8,13,21...... ,给定一个最大值, 返回小于该值的数列 - * 例如, max = 15 , 则返回的数组应该为 [1,1,2,3,5,8,13] - * max = 1, 则返回空数组 [] - * @param max - * @return - */ - public int[] fibonacci(int max){ - if (max <= 1) { - return new int[]{}; - } - int [] newArray = new int[max]; - newArray[0] = 1; - return fibonacciN(1, 1, 1, max, newArray); - } - - private int[] fibonacciN(int size, int current, int next, int max, int[] newArray) { - if (next >= max) { - int[] retArray = new int[size]; - System.arraycopy(newArray, 0, retArray, 0, size); - return retArray; - } else { - newArray[++size - 1] = next; - return fibonacciN(size, next, current + next, max, newArray); - } - } - - /** - * 返回小于给定最大值max的所有素数数组 - * 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19] - * todo 使用已有的质数序列 优化质数验证 - * @param max - * @return - */ - public int[] getPrimes(int max){ - if (max <= 2) { - return new int[]{}; - } - - int[] newArray = new int[max]; - int j = 0; - for (int i = 2; i < max; i++) { - if (isPrime(i)) { - newArray[j++] = i; - } - } - int[] retArray = new int[j]; - System.arraycopy(newArray, 0, retArray, 0, j); - return retArray; - } - - private boolean isPrime(int number) { - int limit = Double.valueOf(Math.sqrt(number)).intValue(); - for(int i = 2; i <= limit; i++) { - if (number % i == 0 ) { - return false; - } - } - return true; - - } - - /** - * 所谓“完数”, 是指这个数恰好等于它的因子之和,例如6=1+2+3 - * 给定一个最大值max, 返回一个数组, 数组中是小于max 的所有完数 - * @param max - * @return - */ - public int[] getPerfectNumbers(int max){ - int[] newArray = new int[48]; // 经过不少数学家研究,到2013年2月6日为止,一共找到了48个完全数。 - int j = 0; - for (int i = 2; i < max; i++) { - if (isPerfectNumber(i)) { - if (j >= newArray.length) { - newArray = this.grow(newArray, 1); - } - newArray[j++] = i; - - } - } - int[] retArray = new int[j]; - System.arraycopy(newArray, 0, retArray, 0, j); - return retArray; - } - - private boolean isPerfectNumber(int number) { - int sum = 0; - for (int i = 1; i < number; i++) { - if (number % i == 0) { - sum += i; - } - } - - return sum == number; - } - - /** - * 用seperator 把数组 array给连接起来 - * 例如array= [3,8,9], seperator = "-" - * 则返回值为"3-8-9" - * @param array - * @param seperator - * @return - */ - public String join(int[] array, String seperator){ - StringBuilder builder = new StringBuilder(20); - int length = array.length; - for (int i = 0; i< length; i++) { - builder.append(array[i]).append(seperator); - } - builder.deleteCharAt(builder.length() - seperator.length()); - return builder.toString(); - } - - -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LRUPageFrame.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LRUPageFrame.java deleted file mode 100644 index 96c2e2cdab..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LRUPageFrame.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.coding.basic.linklist; - -import lombok.extern.slf4j.Slf4j; - -/** - * 定长链表 - * 命中后更新 pageNumber的位置 - * 随时要考虑 first, node 的变化 - */ -@Slf4j -public class LRUPageFrame { - - private static class Node { - - Node prev; - Node next; - int pageNum; - - public Node(Node next, int pageNum) { - this.next = next; - this.pageNum = pageNum; - } - - public Node(int pageNum) { - this.pageNum = pageNum; - } - - Node() { - } - - public String debug() { - return new StringBuilder(). - append("\n##########################pre: ") - .append(prev) - .append("\n##########################node: ") - .append(this) - .append("\n##########################next: ") - .append(next) - .append("\n##########################pageNum: ") - .append(pageNum) - - .toString(); - } - } - - - private int capacity; - - private int currentSize; - private Node first;// 链表头 - private Node last;// 链表尾 - - - public LRUPageFrame(int capacity) { - this.currentSize = 0; - this.capacity = capacity; - - } - - /** - * 获取缓存中对象 - * 新的对象应该放在前面 - * - * @param pageNum - * @return - */ - public void access(int pageNum) { - if (capacity == 0) { - return; - } - - // 如果已经存在, 删除已经存在的 - removeContainedNode(pageNum); - - /** - * 向前追加 - */ - // 如果 first 为空, first=last=newNode - if (first == null && last == null) { - first = last = new Node(pageNum); - // 如果不为空 , first=newNode, first.next.pre = first - } else { - first = new Node(first, pageNum); - first.next.prev = first; - } - // 修改 size - currentSize++; - debugContent("addNewNode"); - - // 如果 size = capacity + 1, 去除last (额外考虑 capacity 为 1 的情况), last.next=null - if (currentSize == capacity + 1) { - last = last.prev; - last.next = null; - currentSize--; - debugContent("rmSpareNode"); - } - } - - private Node removeContainedNode(int pageNum) { - Node node = first; - while (node != null) { - - if (node.pageNum == pageNum) { - Node nodePre = node.prev; - Node nodeNext = node.next; - if (nodePre == null) { // 说明在第一个节点就 hit了 - first = nodeNext; - first.prev = null; - } else { - nodePre.next = nodeNext; - if (nodeNext != null) { - nodeNext.prev = nodePre; - } else { - last = nodePre; // 如果 nodeNext 为空, 说明原先 last 是 node, 现在是 nodePre - } - } - currentSize--; - return node; - } - node = node.next; - } - debugContent("removeContainedNode"); - return null; - } - - private void debugContent(String tag) { - log.debug("tag={}, currentSize={}, toString={}", tag, currentSize, debug()); - } - - - public String toString() { - StringBuilder buffer = new StringBuilder(); - Node node = first; - while (node != null) { - buffer.append(node.pageNum); - - node = node.next; - if (node != null) { - buffer.append(","); - } - } - return buffer.toString(); - } - - public String debug() { - StringBuilder buffer = new StringBuilder(); - Node node = first; - while (node != null) { - buffer - .append(node.debug()) - .append("\n##########################last: ") - .append(last) - .append("\n##########################capacity: ") - .append(capacity) - .append("\n##########################toString: ") - .append(toString()) - - ; - - node = node.next; - if (node != null) { - buffer.append("\n,"); - } - } - return buffer.toString() + "\n"; - } - - -} diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LinkedList.java b/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LinkedList.java deleted file mode 100644 index d9c4ee3c7b..0000000000 --- a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LinkedList.java +++ /dev/null @@ -1,351 +0,0 @@ -package com.coding.basic.linklist; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class LinkedList implements List { - - private Node head; - private int size = 0; - - public void add(Object o) { - Node newNode = new Node(o, null); - if (head == null) { - head = newNode; - } else { - node(size - 1).next = newNode; - } - size++; - } - - public void add(int index, Object o) { - checkForAdd(index); - if (index == size) { - add(o); - } else { - Node newNode = new Node(o, null); - if (index == 0) { - addFirst(o); - } else { - Node preNode = node(index - 1); - Node now = preNode.next; - preNode.next = newNode; - newNode.next = now; - size++; - } - } - - } - - private Node node(int index) { - Node x = head; - for (int i = 0; i < index; i++) { - x = x.next; - } - return x; - } - - public Object get(int index) { - checkIndex(index); - return node(index).data; - } - - /** - * 让被删除的引用的持有者指向下一个节点 - * - * @param index - * @return - */ - public Object remove(int index) { - final Object ret; - checkIndex(index); - if (index == 0) { - Node removeNode = head; - ret = head.data; - head = removeNode.next; - } else { - Node pre = node(index - 1); - Node removeNode = pre.next; - ret = removeNode.data; - pre.next = removeNode.next; - } - size--; - return ret; - } - - public int size() { - return size; - } - - public void addFirst(Object o) { - head = new Node(o, head); - ; - size++; - } - - public void addLast(Object o) { - add(o); - } - - public Object removeFirst() { - if (size == 0) { - return null; - } else { - return remove(0); - } - } - - public Object removeLast() { - return remove(size - 1); - } - - public LinkedListIterator iterator() { - return new LinkedListIterator(head); - } - - private void checkIndex(int index) { - if (index < 0 || index >= size) { - throw new ArrayIndexOutOfBoundsException(String.format("index=%s, size=%s", index, size)); - } - } - - private void checkForAdd(int index) { - if (index < 0 || index > size) { - throw new ArrayIndexOutOfBoundsException(String.format("index=%s, size=%s", index, size)); - } - } - - - @Override - public String toString() { - Iterator iterator = iterator(); - StringBuilder builder = new StringBuilder("["); - while ((iterator.hasNext())) { - builder.append(iterator.next()).append(','); - } - if (size() > 0) { - builder.deleteCharAt(builder.length() - 1); - } - return builder - .append(']') - .toString(); - } - - /** - * 把该链表逆置 - * 例如链表为 3->7->10 , 逆置后变为 10->7->3 - */ - public void reverse() { - if (size == 0) { - return; - } - Object[] datas = new Object[size]; - int i = 0; - // 迭代链表的数据生成数组 - Iterator iterator = iterator(); - while (iterator.hasNext()) { - datas[i++] = iterator.next(); - } - // 遍历数组越生成新的 链表 - Node newHead = new Node(datas[--i], null); - Node next = newHead; - for (int j = --i; j >= 0; j--) { - next.next = new Node(datas[j], null); - next = next.next; - - } - this.head = newHead; - - } - - /** - * 删除一个单链表的前半部分 - * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 - * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 - */ - public void removeFirstHalf() { - removeFirstSize(size >> 1); - } - - public void removeFirstSize(int firstSize) { - firstSize = firstSize > size() ? size() : firstSize; - LinkedListIterator iterator = iterator(); - int i = 1; - while (i++ <= firstSize) { - iterator.nextNode(); - } - if (size > 0) { - head = iterator.nextNode(); - size = size() - firstSize; - } - } - - - /** - * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 - * - * @param i - * @param length - */ - public void remove(int i, int length) { - if (i == 0) { - removeFirstSize(length); - return; - } - if (i >= size || length == 0) { - return; - } - - int lastLenth = size - i; - length = length <= lastLenth ? length : lastLenth; - Node pre = node(i - 1); - int j = 0; - - Node next = pre; - while (j++ < length) { - next = next.next; - } - pre.next = next.next; - size = size - length; - - - } - - /** - * 假定当前链表和listB均包含已升序排列的整数 - * 从当前链表中取出那些listB所指定的元素 - * 例如当前链表 = 11->101->201->301->401->501->601->701 - * listB = 1->3->4->6 - * 返回的结果应该是[101,301,401,601] - * - * @param list - */ - public int[] getElements(LinkedList list) { - if (size() == 0) { - return new int[0]; - } - Iterator iterator = list.iterator(); - Node fromNode = iterator().nextNode(); - int fromIndex = 0; - - int[] retArray = new int[list.size()]; - int retIndex = 0; - while (iterator.hasNext()) { - int index = (int) iterator.next(); - Node node = node(fromNode, fromIndex, index); - fromIndex = index; - fromNode = node; - if (node == null) { - return retArray; - } else { - retArray[retIndex++] = (int)node.data; - } - } - return retArray; - } - - private Node node(Node fromNode, int fromIndex, int index) { - Node next = fromNode; - int nextIndex = fromIndex; - while (next != null && nextIndex < index) { - next = next.next; - nextIndex++; - } - if (nextIndex == index) { - return next; - } else { - return null; - } - } - - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 从当前链表中中删除在listB中出现的元素 - * - * @param list - */ - - public void subtract(LinkedList list) { - - } - - /** - * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) - */ - public void removeDuplicateValues() { - - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) - * - * @param min - * @param max - */ - public void removeRange(int min, int max) { - - } - - /** - * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) - * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 - * - * @param list - */ - public LinkedList intersection(LinkedList list) { - return null; - } - - private static class Node { - Object data; - Node next; - - public Node() { - } - - public Node(Object data, Node next) { - this.data = data; - this.next = next; - } - } - - private class LinkedListIterator implements Iterator { - - private Node next; - - public LinkedListIterator() { - } - - private LinkedListIterator(Node next) { - this.next = next; - } - - @Override - public boolean hasNext() { - return next != null; - } - - @Override - public Object next() { - if (next == null) { - throw new IndexOutOfBoundsException("there is no node in list"); - } - Node ret = next; - next = next.next; - return ret.data; - } - - - private Node nextNode() { - if (next == null) { - throw new IndexOutOfBoundsException("there is no node in list"); - } - Node ret = next; - next = next.next; - return ret; - } - } -} diff --git a/students/1204187480/code/homework/coding/src/test/java/com/coding/api/ArraysTest.java b/students/1204187480/code/homework/coding/src/test/java/com/coding/api/ArraysTest.java deleted file mode 100644 index eb41a7e262..0000000000 --- a/students/1204187480/code/homework/coding/src/test/java/com/coding/api/ArraysTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coding.api; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; - -/** - * Created by luoziyihao on 2/25/17. - */ -public class ArraysTest { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - - @Test - public void testCopyOf(){ - Object[] a = new Object[]{1, 2, 3, 4}; - Object[] b = Arrays.copyOf(a, 10); - logger.info("a={}, b={}", Arrays.toString(a), Arrays.toString(b)); - } -} diff --git a/students/1204187480/code/homework/coding/src/test/java/com/coding/api/SystemTest.java b/students/1204187480/code/homework/coding/src/test/java/com/coding/api/SystemTest.java deleted file mode 100644 index efc4022378..0000000000 --- a/students/1204187480/code/homework/coding/src/test/java/com/coding/api/SystemTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.api; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; - -/** - * Created by luoziyihao on 2/25/17. - */ -public class SystemTest { - - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Test - public void testArrayCopy() { - int[] a = new int[]{1, 2, 3, 4, 5, 6, 7}; - int[] b = new int[]{11, 22, 33, 44, 55, 66, 77}; - System.arraycopy(a, 2, b, 4, 3); - logger.info("b={}", Arrays.toString(b)); - - } -} diff --git a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/LinkedListTest.java b/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/LinkedListTest.java deleted file mode 100644 index 9e951354ef..0000000000 --- a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/LinkedListTest.java +++ /dev/null @@ -1,202 +0,0 @@ -package com.coding.basic; - -import com.coding.basic.linklist.LinkedList; -import org.junit.Assert; -import org.junit.Test; - -import java.util.Arrays; - -/** - * Created by luoziyihao on 3/23/17. - */ -public class LinkedListTest { - - @Test - public void add() throws Exception { - - } - - @Test - public void add1() throws Exception { - - } - - @Test - public void get() throws Exception { - - } - - @Test - public void remove() throws Exception { - - } - - @Test - public void size() throws Exception { - - } - - @Test - public void addFirst() throws Exception { - - } - - @Test - public void addLast() throws Exception { - - } - - @Test - public void removeFirst() throws Exception { - - } - - @Test - public void removeLast() throws Exception { - - } - - @Test - public void removeFirstHalf() throws Exception { - LinkedList linkedList = createAndFillLinkedList(0); - linkedList.removeFirstHalf(); - Assert.assertEquals("[]", linkedList.toString()); - } - - @Test - public void removeFirstHalf1() throws Exception { - LinkedList linkedList = createAndFillLinkedList(1); - linkedList.removeFirstHalf(); - Assert.assertEquals("[1]", linkedList.toString()); - } - - @Test - public void removeFirstHalf2() throws Exception { - LinkedList linkedList = createAndFillLinkedList(2); - linkedList.removeFirstHalf(); - Assert.assertEquals("[2]", linkedList.toString()); - } - - @Test - public void removeFirstHalf3() throws Exception { - LinkedList linkedList = createAndFillLinkedList(3); - linkedList.removeFirstHalf(); - Assert.assertEquals("[2,3]", linkedList.toString()); - } - - private LinkedList createAndFillLinkedList() { - return createAndFillLinkedList(4); - } - - private LinkedList createAndFillLinkedList(int length) { - return createAndFillLinkedList(1, length); - } - - private LinkedList createAndFillLinkedList(int start, int length) { - LinkedList linkedList = new LinkedList(); - for (int i = start; i <= length; i++) { - linkedList.add(i); - } - return linkedList; - } - - @Test - public void remove1() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(0, 0); - Assert.assertEquals("[1,2,3,4]", list.toString()); - } - - @Test - public void remove2() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(0, 1); - Assert.assertEquals("[2,3,4]", list.toString()); - } - - @Test - public void remove3() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(1, 0); - Assert.assertEquals("[1,2,3,4]", list.toString()); - } - - @Test - public void remove4() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(1, 1); - Assert.assertEquals("[1,3,4]", list.toString()); - } - - @Test - public void remove5() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(1, 3); - Assert.assertEquals("[1]", list.toString()); - } - - @Test - public void remove6() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(1, 4); - Assert.assertEquals("[1]", list.toString()); - } - - @Test - public void remove7() throws Exception { - LinkedList list = createAndFillLinkedList(4); - list.remove(1, 5); - Assert.assertEquals("[1]", list.toString()); - } - - @Test - public void getElements() throws Exception { -// LinkedList listA = createAndFillLinkedList(0, 8); -// LinkedList listB = createAndFillLinkedList(4, 4); -// Assert.assertEquals("[4,5,6,7]", Arrays.toString(listA.getElements(listB))); - - } - - @Test - public void subtract() throws Exception { - - } - - @Test - public void removeDuplicateValues() throws Exception { - - } - - @Test - public void removeRange() throws Exception { - - } - - @Test - public void intersection() throws Exception { - - } - - @Test - public void iterator() throws Exception { - - List linkedList = new LinkedList(); - linkedList.add("1"); - linkedList.add("2"); - linkedList.add("3"); - linkedList.add("4"); - Assert.assertEquals("[1,2,3,4]", linkedList.toString()); - } - - @Test - public void reverse() throws Exception { - LinkedList linkedList = new LinkedList(); - linkedList.add("1"); - linkedList.add("2"); - linkedList.add("3"); - linkedList.add("4"); - linkedList.reverse(); - Assert.assertEquals("[4,3,2,1]", linkedList.toString()); - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayListTest.java b/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayListTest.java deleted file mode 100644 index e70c52a725..0000000000 --- a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayListTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.List; -import com.coding.basic.array.ArrayList; -import org.junit.Before; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -/** - * Created by luoziyihao on 2/25/17. - */ -public class ArrayListTest { - - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - - private List list = new ArrayList(); - - @Before - public void before() { - - } - - @Test - public void add() throws Exception { - list.add(1); - } - - @Test - public void get() throws Exception { - add(); - logger.info("{}", list.get(0)); - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayUtilTest.java b/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayUtilTest.java deleted file mode 100644 index 04c8b51547..0000000000 --- a/students/1204187480/code/homework/coding/src/test/java/com/coding/basic/array/ArrayUtilTest.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.coding.basic.array; - -import org.junit.Assert; -import org.junit.Test; - -import java.util.Arrays; - -import static org.junit.Assert.*; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class ArrayUtilTest { - - private ArrayUtil creatArrayUtil(){ - return new ArrayUtil(); - } - - @Test - public void reverseArray() throws Exception { - int[] origin = new int[]{1, 2, 3}; - int[] destArray = new int[]{3, 2, 1}; - creatArrayUtil().reverseArray(origin); - Assert.assertArrayEquals(destArray, origin); - } - - @Test - public void removeZero() throws Exception { - int[] origin = new int[]{1, 2, 3, 0, 10}; - int[] destArray = new int[]{1, 2, 3, 10}; - int[] retArray = creatArrayUtil().removeZero(origin); - Assert.assertArrayEquals(destArray, retArray); - } - - @Test - public void merge() throws Exception { - int[] a = new int[]{1, 2, 3}; - int[] b = new int[]{2, 3}; - - int[] newArray = creatArrayUtil().merge(a, b); - info(newArray); - assertArrayEquals(new int[]{1, 2, 3}, newArray); - } - - @Test - public void grow() throws Exception { - assertArrayEquals(new int[]{1, 2, 0, 0}, creatArrayUtil().grow(new int[]{1, 2}, 2)); - } - - @Test - public void fibonacci() throws Exception { - assertArrayEquals(new int[]{1, 1, 2, 3, 5, 8}, creatArrayUtil().fibonacci(10)); - } - - @Test - public void getPrimes() throws Exception { - int max = Double.valueOf(Math.pow(2, 4)).intValue(); - assertArrayEquals(new int[]{2, 3, 5, 7, 11, 13}, creatArrayUtil().getPrimes(max)); - } - - @Test - public void getPerfectNumbers() throws Exception { - int max = Double.valueOf(Math.pow(2, 8)).intValue(); - assertArrayEquals(new int[]{6, 28}, creatArrayUtil().getPerfectNumbers(max)); - - } - - @Test - public void join() throws Exception { - assertEquals("1_2_3_10", creatArrayUtil().join(new int[]{1, 2, 3, 10}, "_")); - } - - private void info(int[] array) { - System.out.println(Arrays.toString(array)); - } -} \ No newline at end of file diff --git a/students/1204187480/code/homework/common/pom.xml b/students/1204187480/code/homework/common/pom.xml deleted file mode 100644 index 3cbad444b6..0000000000 --- a/students/1204187480/code/homework/common/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - 4.0.0 - common - jar - - com.coding - parent-dependencies - 1.0-SNAPSHOT - ../parent-dependencies/pom.xml - - - \ No newline at end of file diff --git a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/BeanUtils.java b/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/BeanUtils.java deleted file mode 100755 index 67dd8fd1f1..0000000000 --- a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/BeanUtils.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.coding.common.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -/** - * Created by luoziyihao on 5/25/16. - */ -public class BeanUtils { - - - public static final String SET = "set"; - public static final String GET = "get"; - // 日志输出类 - private final Logger log = LoggerFactory.getLogger(this.getClass()); - private final StringUtils2 stringUtils = new StringUtils2(); - - public Object setInvoke(Object para, String methodName, Object obj) { - Method method = null; - Object returnObj = null; - try { - - method = obj.getClass().getMethod(methodName, para.getClass()); - returnObj = method.invoke(obj, para); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - return returnObj; - } - - public Object getInvoke(String methodName, Object obj) { - Method method = null; - Object returnObj = null; - try { - method = obj.getClass().getMethod(methodName); - returnObj = method.invoke(obj); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - return returnObj; - } - - public Object invokeWithNoParamter(String methodName, Object obj) { - Method method; - Object returnObj = null; - try { - method = obj.getClass().getMethod(methodName); - returnObj = method.invoke(obj); - } catch (Exception e) { - log.error(e.getMessage(), e); - } - return returnObj; - } - - - - public Object getPara(String paraName, Object object) { - if (stringUtils.isSpaceOrNull(paraName)) { - throw new RuntimeException("paraname is null or space"); - } - String methodName = new StringBuilder().append(GET).append(stringUtils.toUpperCase(paraName, 0)).toString(); - return getInvoke(methodName, object); - } - - - - public Object setPara(Object para, String paraName, Object object) { - if (stringUtils.isSpaceOrNull(paraName)) { - throw new RuntimeException("paraname is null or space"); - } - String methodName = new StringBuilder().append(SET).append(stringUtils.toUpperCase(paraName, 0)).toString(); - return setInvoke(para, methodName, object); - } - - public T get(String paraName, Object object, Class clazz) { - return (T) getPara(paraName, object); - } - - public Integer getInt(String paraName, Object object) { - return (Integer) getPara(paraName, object); - } - - public Long getLong(String paraName, Object object) { - return (Long) getPara(paraName, object); - } - - public Double getDouble(String paraName, Object object) { - return (Double) getPara(paraName, object); - } - - public BigDecimal getBigDecimal(String paraName, Object object) { - return (BigDecimal) getPara(paraName, object); - } - - public String getString(String paraName, Object object) { - return getPara(paraName, object).toString(); - } - - public Date getDate(String paraName, Object object) { - return (Date) getPara(paraName, object); - } - - public Long getLongByString(String paraName, Object object) { - return Long.parseLong(getString(paraName, object)); - } - - public Integer getIntByString(String paraName, Object object) { - return Integer.parseInt(getString(paraName, object)); - } - - public Double getDoubleByString(String paraName, Object object) { - return Double.parseDouble(getString(paraName, object)); - } - - public BigDecimal getBigDecimalByString(String paraName, Object object) { - return new BigDecimal(getString(paraName, object)); - } - - private final static String GETTER_PRE = "get"; - public Map describe(Object model) { - Method[] methods = model.getClass().getDeclaredMethods(); //获取实体类的所有属性,返回Field数组 - Map properties = new HashMap<>(); - for (Method method : methods) { - String methodName = method.getName(); - if (methodName.startsWith(GETTER_PRE)) { - try { - Object o = method.invoke(model); - String valueName = stringUtils.toLowwerCase(methodName.substring(GETTER_PRE.length()), 0); - properties.put(valueName, o); - } catch (IllegalAccessException | InvocationTargetException e) { - throw new IllegalStateException(e); - } - } - } - return properties; - } -} diff --git a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/ByteUtils.java b/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/ByteUtils.java deleted file mode 100644 index 4126765ff1..0000000000 --- a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/ByteUtils.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coding.common.util; - -/** - * Created by luoziyihao on 5/2/17. - */ -public abstract class ByteUtils { - - public static String byteToHexString(byte[] codes ){ - StringBuffer buffer = new StringBuffer(); - for(int i=0;i listAllFiles(File directory) { - Preconditions.checkNotNull(directory); - Preconditions.checkArgument(directory.isDirectory() - , "file=%s is not directory", directory.getPath()); - return listAllFiles(new ArrayList<>(), directory); - } - - private static List listAllFiles(List files, File directory) { - File[] fileArr = directory.listFiles(); - if (fileArr == null) { - return files; - } - for (File file : fileArr) { - if (file.isDirectory()) { - files = listAllFiles(files, file); - } else { - files.add(file); - } - } - return files; - } - - - public static String getCanonicalPath(File file) { - Preconditions.checkNotNull(file); - try { - return file.getCanonicalPath(); - } catch (IOException e) { - throw new IllegalStateException(e); - } - } - - - public static byte[] getBytes(File classFile) { - // byteArrayOutputStream, 可写的动长数组 - ByteArrayOutputStream baos = null; - BufferedInputStream bis = null; - try { - baos = new ByteArrayOutputStream(); - bis = new BufferedInputStream(new FileInputStream(classFile)); - int intTmp = bis.read(); - while (intTmp != -1) { - baos.write(intTmp); - intTmp = bis.read(); - } - return baos.toByteArray(); - } catch (IOException e) { - throw new IllegalStateException(e); - } finally { - IOUtils2.close(baos); - IOUtils2.close(bis); - } - } - - public static InputStream openStream(String classPath) { - return ClassLoader.getSystemResourceAsStream(classPath); - } - -} diff --git a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/IOUtils2.java b/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/IOUtils2.java deleted file mode 100644 index 889c6cefb6..0000000000 --- a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/IOUtils2.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.common.util; - -import java.io.*; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Created by luoziyihao on 5/2/17. - */ -public abstract class IOUtils2 { - - public static void close(Closeable closeable) { - if (closeable != null) { - try { - closeable.close(); - } catch (IOException e) { - throw new IllegalStateException(e); - - } - } - } - - - public static List readToStringList(InputStream inputStream) { - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(inputStream)); - return br.lines().collect(Collectors.toList()); - } finally { - close(br); - } - - } - -} diff --git a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/StringUtils2.java b/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/StringUtils2.java deleted file mode 100644 index 0883351690..0000000000 --- a/students/1204187480/code/homework/common/src/main/java/com/coding/common/util/StringUtils2.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.common.util; - -/** - * Created by luoziyihao on 3/5/17. - */ -public class StringUtils2 { - - /** - * 改变指定位置的 char的大小写 - */ - public String toUpperCase(String str, int index) { - char[] chars = str.toCharArray(); - if (index + 1 > chars.length) { - throw new RuntimeException("the char at the index don't exist"); - } - chars[index] = Character.toUpperCase(chars[index]); - return new String(chars); - } - - /** - * 改变指定位置的 char的大小写 - */ - public String toLowwerCase(String str, int index) { - char[] chars = str.toCharArray(); - if (index + 1 > chars.length ) {throw new RuntimeException("the char at the index don't exist");} - chars[index] = Character.toLowerCase(chars[index]); - return new String(chars); - } - - public boolean isSpaceOrNull(String paraName) { - return (paraName == null || paraName.trim().isEmpty()); - } - -} diff --git a/students/1204187480/code/homework/common/src/test/java/com/coding/api/ArraysTest.java b/students/1204187480/code/homework/common/src/test/java/com/coding/api/ArraysTest.java deleted file mode 100644 index eb41a7e262..0000000000 --- a/students/1204187480/code/homework/common/src/test/java/com/coding/api/ArraysTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coding.api; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; - -/** - * Created by luoziyihao on 2/25/17. - */ -public class ArraysTest { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - - @Test - public void testCopyOf(){ - Object[] a = new Object[]{1, 2, 3, 4}; - Object[] b = Arrays.copyOf(a, 10); - logger.info("a={}, b={}", Arrays.toString(a), Arrays.toString(b)); - } -} diff --git a/students/1204187480/code/homework/common/src/test/java/com/coding/api/SystemTest.java b/students/1204187480/code/homework/common/src/test/java/com/coding/api/SystemTest.java deleted file mode 100644 index efc4022378..0000000000 --- a/students/1204187480/code/homework/common/src/test/java/com/coding/api/SystemTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.api; - -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; - -/** - * Created by luoziyihao on 2/25/17. - */ -public class SystemTest { - - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Test - public void testArrayCopy() { - int[] a = new int[]{1, 2, 3, 4, 5, 6, 7}; - int[] b = new int[]{11, 22, 33, 44, 55, 66, 77}; - System.arraycopy(a, 2, b, 4, 3); - logger.info("b={}", Arrays.toString(b)); - - } -} diff --git a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/ByteUtilsTest.java b/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/ByteUtilsTest.java deleted file mode 100644 index 62dd4907cc..0000000000 --- a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/ByteUtilsTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coding.common.util; - -import org.junit.Test; - -/** - * Created by luoziyihao on 5/2/17. - */ -public class ByteUtilsTest { - - @Test - public void testByteToHexString(){ - byte[] bytes = new byte[]{ - 1, - (byte) 255 - }; - System.out.println(ByteUtils.byteToHexString(bytes)); - System.out.println(Integer.toHexString(255)); - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/FileUtils2Test.java b/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/FileUtils2Test.java deleted file mode 100644 index cb58cf99c5..0000000000 --- a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/FileUtils2Test.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.common.util; - -import org.junit.Test; - -import java.io.File; -import java.util.List; - -/** - * Created by luoziyihao on 4/28/17. - */ -public class FileUtils2Test { - @Test - public void getCanonicalPath() throws Exception { - System.out.println(FileUtils2.getCanonicalPath(new File(""))); - } - - @Test - public void getBytes() throws Exception { - byte[] bytes = FileUtils2.getBytes(new File("pom.xml")); - System.out.println(new String(bytes)); - System.out.println(ByteUtils.byteToHexString(bytes)); - - } - - - @Test - public void listAllFiles() throws Exception { - String currentPath = new File("").getCanonicalPath(); - List files = FileUtils2.listAllFiles(new File(currentPath )); - for (File file : files) { - System.out.println(file.getCanonicalPath()); - } - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/IOUtils2Test.java b/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/IOUtils2Test.java deleted file mode 100644 index 6870919037..0000000000 --- a/students/1204187480/code/homework/common/src/test/java/com/coding/common/util/IOUtils2Test.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coding.common.util; - -import org.junit.Test; - -import java.util.List; - -import static com.coding.common.util.FileUtils2.openStream; -import static com.coding.common.util.IOUtils2.readToStringList; -import static org.junit.Assert.*; - -/** - *

- *

- * - * @author raoxiang - * @version 6/13/17 - * @since 1.8 - */ -public class IOUtils2Test { - @Test - public void readToStringListTest() throws Exception { - List poms = readToStringList(openStream("test.json")); - System.out.println(poms); - } - -} \ No newline at end of file diff --git a/students/1204187480/code/homework/common/src/test/resources/test.json b/students/1204187480/code/homework/common/src/test/resources/test.json deleted file mode 100644 index ccc0682ac2..0000000000 --- a/students/1204187480/code/homework/common/src/test/resources/test.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "key1": "value1" - , "key2": "value2" -} \ No newline at end of file diff --git a/students/1204187480/code/homework/parent-dependencies/pom.xml b/students/1204187480/code/homework/parent-dependencies/pom.xml deleted file mode 100644 index b961e90c59..0000000000 --- a/students/1204187480/code/homework/parent-dependencies/pom.xml +++ /dev/null @@ -1,169 +0,0 @@ - - 4.0.0 - - com.coding - parent-dependencies - pom - 1.0-SNAPSHOT - https://github.com/luoziyihao/coding2017 - - - - alimaven - aliyun maven - http://maven.aliyun.com/nexus/content/groups/public/ - - true - - - true - - - - - - alimaven - aliyun maven - http://maven.aliyun.com/nexus/content/groups/public/ - - true - - - true - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/libs-snapshot - - true - - - - - - - UTF-8 - UTF-8 - 1.8 - UTF-8 - 1.8 - 1.8 - 3.0 - 1.1.7 - 1.1.7 - 1.2 - 1.2.17 - 4.12 - 3.4 - 4.1 - 2.5 - 1.9.2 - 19.0 - 1.1.6 - 1.16.10 - 1.2.22 - 0.2.0 - 2.9.4 - - - - - - - ch.qos.logback - logback-classic - ${logback-classic.version} - - - - commons-logging - commons-logging - ${commons-logging.version} - - - log4j - log4j - ${log4j.version} - - - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - commons-io - commons-io - ${commons-io.version} - - - commons-beanutils - commons-beanutils - ${commons-beanutils.version} - - - com.google.guava - guava - ${guava.version} - - - org.projectlombok - lombok - ${lombok.version} - - - joda-time - joda-time - ${joda-time.version} - - - io.reactivex - rxjava - ${rxjava.version} - - - com.alibaba - fastjson - ${fastjson.version} - - - com.shekhargulati - strman - ${strman.version} - - - - - - junit - junit - ${junit.version} - - - - - ${project.artifactId} - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - \ No newline at end of file diff --git a/students/1204187480/code/homework/parent/pom.xml b/students/1204187480/code/homework/parent/pom.xml deleted file mode 100644 index e6a94a2e4f..0000000000 --- a/students/1204187480/code/homework/parent/pom.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - 4.0.0 - parent - pom - manage the dependencies for modules - - com.coding - parent-dependencies - 1.0-SNAPSHOT - ../parent-dependencies/pom.xml - - - - - com.coding - common - 1.0-SNAPSHOT - - - - \ No newline at end of file diff --git a/students/1204187480/code/homework/pom.xml b/students/1204187480/code/homework/pom.xml deleted file mode 100644 index 28ac74f159..0000000000 --- a/students/1204187480/code/homework/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - 4.0.0 - com.coding - coding2017 - 1.0-SNAPSHOT - pom - - parent-dependencies - common - parent - coding - coderising - - - - diff --git "a/students/1204187480/note/homework/cpu, \345\206\205\345\255\230, \347\243\201\347\233\230, \346\214\207\344\273\244-\346\274\253\350\260\210\350\256\241\347\256\227\346\234\272" "b/students/1204187480/note/homework/cpu, \345\206\205\345\255\230, \347\243\201\347\233\230, \346\214\207\344\273\244-\346\274\253\350\260\210\350\256\241\347\256\227\346\234\272" deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/students/1204187480/note/todo/homework.md b/students/1204187480/note/todo/homework.md deleted file mode 100644 index 5f111a9ea6..0000000000 --- a/students/1204187480/note/todo/homework.md +++ /dev/null @@ -1,8 +0,0 @@ -# 0326 操作系统中的lru算法 - -ClassFileLoader - -LRUPageFrame - -深入理解java虚拟机 第6章 - diff --git a/students/1241588932/pom.xml b/students/1241588932/pom.xml deleted file mode 100644 index ad245eee9f..0000000000 --- a/students/1241588932/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment-enan - 0.0.1-SNAPSHOT - jar - - ood-assignment-enan - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - org.projectlombok - lombok - 1.16.16 - true - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.8 - 1.8 - ${project.build.sourceEncoding} - - - - - diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/config/Configuration.java b/students/1241588932/src/main/java/com/coderising/ood/srp/config/Configuration.java deleted file mode 100644 index e468795316..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/config/Configuration.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp.config; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - private static final String CONFIG_FILE_NAME = "email_config.properties"; - - static Map configurations = new HashMap<>(); - static{ - // TODO 从配置文件中加载配置到 map 中 - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java b/students/1241588932/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java deleted file mode 100644 index 7fe226d1bd..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.config; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/dao/UserDao.java b/students/1241588932/src/main/java/com/coderising/ood/srp/dao/UserDao.java deleted file mode 100644 index fb6970cee5..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/dao/UserDao.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp.dao; - -import com.coderising.ood.srp.entity.User; -import com.coderising.ood.srp.util.DBUtil; - -import java.util.List; - -/** - * Created by Enan on 17/6/14. - */ -public class UserDao { - - private static UserDao INSTANCE; - - public static UserDao getInstance() { - if (INSTANCE == null) { - synchronized (UserDao.class) { - INSTANCE = new UserDao(); - } - } - return INSTANCE; - } - - private UserDao() {} - - public List querySubscriptedUsersByProductID(String productID) { - String sql = "Select name, email from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - return DBUtil.query(sql); - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/entity/Product.java b/students/1241588932/src/main/java/com/coderising/ood/srp/entity/Product.java deleted file mode 100644 index 70b2c7870c..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/entity/Product.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.ood.srp.entity; - -import lombok.Builder; -import lombok.Data; - -/** - * Created by Enan on 17/6/14. - */ -@Data -@Builder -public class Product { - - private String productID; - private String productDesc; -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/entity/User.java b/students/1241588932/src/main/java/com/coderising/ood/srp/entity/User.java deleted file mode 100644 index 0f79352cf4..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/entity/User.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp.entity; - -import lombok.Data; - -/** - * Created by Enan on 17/6/14. - */ -@Data -public class User { - - private String name; - private String email; -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/main.java b/students/1241588932/src/main/java/com/coderising/ood/srp/main.java deleted file mode 100644 index af2b5ce8f1..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/main.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.service.IPromotionMail; -import com.coderising.ood.srp.service.impl.PromotionMailImpl; -import com.coderising.ood.srp.service.impl.ReadProductConfigImpl; -import com.coderising.ood.srp.service.impl.UserServiceImpl; - -import java.io.File; -import java.net.URL; - -/** - * Created by Enan on 17/6/18. - */ -public class main { - - public static void main(String[] args) { - IPromotionMail promotionMail = new PromotionMailImpl(new UserServiceImpl(), new ReadProductConfigImpl()); - URL base = Thread.currentThread().getContextClassLoader().getResource(""); - promotionMail.send(new File(base.getFile(), "product_promotion.txt")); - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IPromotionMail.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/IPromotionMail.java deleted file mode 100644 index ba940b09d8..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IPromotionMail.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.File; - -/** - * Created by Enan on 17/6/18. - */ -public interface IPromotionMail { - - void send(File file); -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IReadProductConfig.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/IReadProductConfig.java deleted file mode 100644 index 1b2c45d1ee..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IReadProductConfig.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.entity.Product; - -import java.io.File; -import java.io.IOException; -import java.util.Collection; - -/** - * Created by Enan on 17/6/18. - */ -public interface IReadProductConfig { - - Collection read(File file) throws IOException; - -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IUserService.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/IUserService.java deleted file mode 100644 index 652ba08fbb..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/IUserService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.entity.User; - -import java.util.Collection; - -/** - * Created by Enan on 17/6/18. - */ -public interface IUserService { - - Collection querySubscriptedUsersByProductID(String productID); -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailImpl.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailImpl.java deleted file mode 100644 index 497f16ccfd..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import com.coderising.ood.srp.config.Configuration; -import com.coderising.ood.srp.config.ConfigurationKeys; -import com.coderising.ood.srp.entity.Product; -import com.coderising.ood.srp.entity.User; -import com.coderising.ood.srp.service.IPromotionMail; -import com.coderising.ood.srp.service.IReadProductConfig; -import com.coderising.ood.srp.service.IUserService; -import com.coderising.ood.srp.util.MailUtil; - -import java.io.File; -import java.io.IOException; -import java.util.Collection; -import java.util.List; - -/** - * Created by Enan on 17/6/18. - */ -public class PromotionMailImpl implements IPromotionMail { - - private IUserService userService; - private IReadProductConfig readProductConfig; - - private static final String SUBJECT = "您关注的产品降价了"; - private static final String MESSAGE = "尊敬的 %s, 您关注的产品 %s 降价了,欢迎购买!"; - - public PromotionMailImpl (IUserService iUserService, IReadProductConfig iReadProductConfig) { - this.userService = iUserService; - this.readProductConfig = iReadProductConfig; - } - - @Override - public void send(File file) { - Collection products; - try { - products = readProductConfig.read(file); - } catch (IOException e) { - throw new RuntimeException("读取降价商品失败,终止发送降价邮件提醒"); - } - for (Product product : products) { - List users = (List) userService.querySubscriptedUsersByProductID(product.getProductID()); - - for (User user : users) { - try { - if (user.getEmail().length() > 0) - MailUtil.sendEmail(user.getEmail(), - Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN), - SUBJECT, - String.format(MESSAGE, user.getName(), product.getProductDesc()), - Configuration.getProperty(ConfigurationKeys.SMTP_SERVER)); - } catch (Exception e) { - try { - MailUtil.sendEmail(user.getEmail(), - Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN), - SUBJECT, - String.format(MESSAGE, user.getName(), product.getProductDesc()), - Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/ReadProductConfigImpl.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/ReadProductConfigImpl.java deleted file mode 100644 index 9360be24ad..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/ReadProductConfigImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import com.coderising.ood.srp.entity.Product; -import com.coderising.ood.srp.service.IReadProductConfig; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * Created by Enan on 17/6/18. - */ -public class ReadProductConfigImpl implements IReadProductConfig { - @Override - public Collection read(File file) throws IOException { - List products = new ArrayList<>(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp; - while ((temp = br.readLine()) != null) { - String[] data = temp.split(" "); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - products.add(Product.builder().productID(data[0]).productDesc(data[1]).build()); - } - return products; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/UserServiceImpl.java b/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/UserServiceImpl.java deleted file mode 100644 index f38ce0f773..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import com.coderising.ood.srp.dao.UserDao; -import com.coderising.ood.srp.entity.User; -import com.coderising.ood.srp.service.IUserService; - -import java.util.List; - -/** - * Created by Enan on 17/6/18. - */ -public class UserServiceImpl implements IUserService { - - private UserDao userDao = UserDao.getInstance(); - - @Override - public List querySubscriptedUsersByProductID(String productID) { - return userDao.querySubscriptedUsersByProductID(productID); - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/1241588932/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index a6e495ab07..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp.util; -import com.coderising.ood.srp.entity.User; - -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setName("User" + i); - user.setEmail("aa@bb.com"); - userList.add(user); - } - - return userList; - } -} diff --git a/students/1241588932/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/1241588932/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index dd640423c9..0000000000 --- a/students/1241588932/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp.util; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1241588932/src/main/resources/email_config.properties b/students/1241588932/src/main/resources/email_config.properties deleted file mode 100644 index 6f5615d18b..0000000000 --- a/students/1241588932/src/main/resources/email_config.properties +++ /dev/null @@ -1,3 +0,0 @@ -smtp.server=smtp.163.com -alt.smtp.server=smtp1.163.com -email.admin=admin@company.com \ No newline at end of file diff --git a/students/1241588932/src/main/resources/product_promotion.txt b/students/1241588932/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1241588932/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1299310140/src/com/coderising/ood/srp/CheckUtil.java b/students/1299310140/src/com/coderising/ood/srp/CheckUtil.java deleted file mode 100644 index 657c4c8102..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/CheckUtil.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.coderising.ood.srp; - -public class CheckUtil { - protected static boolean checkEmail(String emailAddress){ - if(emailAddress.length() > 0){ - return true; - }else{ - return false; - } - } -} diff --git a/students/1299310140/src/com/coderising/ood/srp/Configuration.java b/students/1299310140/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 927c7155cc..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1299310140/src/com/coderising/ood/srp/ConfigurationKeys.java b/students/1299310140/src/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 868a03ff83..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1299310140/src/com/coderising/ood/srp/DBUtil.java b/students/1299310140/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 65383e4dba..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1299310140/src/com/coderising/ood/srp/MailUtil.java b/students/1299310140/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 373f3ee306..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1299310140/src/com/coderising/ood/srp/Product.java b/students/1299310140/src/com/coderising/ood/srp/Product.java deleted file mode 100644 index 4d1706b42b..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - - private String id; - - private String desc; - - public Product(String id, String desc) { - super(); - this.id = id; - this.desc = desc; - } - - public String getId() { - return id; - } - - public String getDesc() { - return desc; - } - - -} diff --git a/students/1299310140/src/com/coderising/ood/srp/PromotionMail.java b/students/1299310140/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index aa40bc6251..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - //C:\\my Program Files\\mygit\\second\\coding2017\\students\\1299310140\\src\\com\\coderising\\ood\\srp - String productFilePath = "C:\\my Program Files\\mygit\\second\\coding2017\\students\\1299310140\\src\\com\\coderising\\ood\\srp\\product_promotion.txt"; - Product product = ReadFile.readProductFile(productFilePath); - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getId() +"' " - + "and send_mail=1 "; - List list = DBUtil.query(sendMailQuery); - - if(list == null){ - System.out.println("没有邮件发送"); - return; - } - - Configuration config = new Configuration(); - PromotionMail pe = new PromotionMail(config); - boolean emailDebug = false; - - Iterator iter = list.iterator(); - while (iter.hasNext()) { - HashMap userInfo = (HashMap) iter.next(); - if(CheckUtil.checkEmail((String) userInfo.get(EMAIL_KEY))){ - pe.setMessageAndToAddress(userInfo,product); - pe.sendEMails(emailDebug); - } - } - - } - - - public PromotionMail(Configuration config){ - - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - - } - - protected void setMessageAndToAddress(HashMap userInfo,Product product) - { - toAddress = (String) userInfo.get(EMAIL_KEY); - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + product.getDesc() + " 降价了,欢迎购买!" ; - - } - - protected void sendEMails(boolean debug) throws IOException - { - - System.out.println("开始发送邮件"); - try - { - - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} diff --git a/students/1299310140/src/com/coderising/ood/srp/ReadFile.java b/students/1299310140/src/com/coderising/ood/srp/ReadFile.java deleted file mode 100644 index 15aadf91b8..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/ReadFile.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class ReadFile { - - protected static Product readProductFile(String productFilePath) throws IOException - { - File file = new File(productFilePath); - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - Product product = new Product(data[0],data[1]); - - System.out.println("产品ID = " + product.getId() + "\n"); - System.out.println("产品描述 = " + product.getDesc() + "\n"); - - return product; - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/1299310140/src/com/coderising/ood/srp/product_promotion.txt b/students/1299310140/src/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1299310140/src/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1329920463/src/com/tm/test/Test.java b/students/1329920463/src/com/tm/test/Test.java deleted file mode 100644 index 1e4ea28432..0000000000 --- a/students/1329920463/src/com/tm/test/Test.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.tm.test; - -public class Test { - - public static void main(String[] args) { - System.out.println("Hello World!"); - } -} diff --git a/students/1363044717/ood-assignment/pom.xml b/students/1363044717/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/1363044717/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index dbf48911d3..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List query(String sql) { - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - User userInfo = new User("User" + i, "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index e7b12edd30..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -/** - * Created by Mori on 2017/6/15. - */ -public class FileUtil { - - public static String readFile(File file) throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - return temp; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index c18227852c..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by Mori on 2017/6/15. - */ -public class Mail { - private String subject; - private String message; - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - protected void setPromotionMessage(String userName, String productDesc) { - this.setSubject("您关注的产品降价了"); - this.setMessage("尊敬的 " + userName + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"); - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 129ffdd207..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress,Mail mail, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - System.out.println(buffer.toString()); - } - -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 5ff6a9665f..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by Mori on 2017/6/15. - */ -public class Product { - - private String productID; - private String productDesc; - - public Product() { - } - - public Product(String productID, String productDesc) { - this.productID = productID; - this.productDesc = productDesc; - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 43d0b264bc..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -public class PromotionMail { - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected Mail mail = new Mail(); - protected Product product = null; - protected boolean debug = false; - protected List mailingList = null; - - private static Configuration config; - - public static void main(String[] args) throws Exception { - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(f, emailDebug); - pe.sendEMails(); - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - debug = mailDebug; - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - loadProduct(file); - loadConfig(); - loadMailingList(); - } - - protected void loadProduct(File file) throws Exception { - String fileStr = FileUtil.readFile(file); - String data[] = fileStr.split(" "); - product = new Product(data[0], data[1]); - } - - protected void loadMailingList() { - mailingList = UserService.loadMailingListByProductId(product.getProductID()); - } - - protected void loadConfig() { - config = new Configuration(); - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected boolean validateToAddress() { - return toAddress.length() > 0; - } - - protected void setToAddress(String address) { - toAddress = address; - } - - protected void sendEMails() throws IOException { - System.out.println("开始发送邮件"); - if (mailingList == null) { - System.out.println("没有邮件发送"); - return; - } - for (User user : mailingList) { - this.setToAddress(user.getEmail()); - if (!this.validateToAddress()) { - continue; - } - //设置促销消息 - mail.setPromotionMessage(user.getName(), product.getProductDesc()); - try { - MailUtil.sendEmail(toAddress, fromAddress, mail, smtpHost, debug); - } catch (Exception e) { - try { - MailUtil.sendEmail(toAddress, fromAddress, mail, altSmtpHost, debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/User.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/User.java deleted file mode 100644 index 71fcd1ea85..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by Mori on 2017/6/15. - */ -public class User { - - private String email; - private String name; - - public User() { - } - - public User(String email, String name) { - this.email = email; - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java deleted file mode 100644 index 3b2bd5aac5..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Mori on 2017/6/15. - */ -public class UserService { - - public static List loadMailingListByProductId(String productID) { - String sql = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - return DBUtil.query(sql); - } -} diff --git a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1363044717/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1377699408/README.md b/students/1377699408/README.md deleted file mode 100644 index bf3d9bbc98..0000000000 --- a/students/1377699408/README.md +++ /dev/null @@ -1,2 +0,0 @@ -## 1377699408的文件夹 -测试 diff --git a/students/1377699408/data-structure/answer/pom.xml b/students/1377699408/data-structure/answer/pom.xml deleted file mode 100644 index ac6ba882df..0000000000 --- a/students/1377699408/data-structure/answer/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ds-answer - 0.0.1-SNAPSHOT - jar - - ds-answer - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/DownloadThread.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/DownloadThread.java deleted file mode 100644 index 900a3ad358..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/DownloadThread.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; - -public class DownloadThread extends Thread{ - - Connection conn; - int startPos; - int endPos; - - public DownloadThread( Connection conn, int startPos, int endPos){ - - this.conn = conn; - this.startPos = startPos; - this.endPos = endPos; - } - public void run(){ - - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloader.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloader.java deleted file mode 100644 index c3c8a3f27d..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloader.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; - - -public class FileDownloader { - - String url; - - DownloadListener listener; - - ConnectionManager cm; - - - public FileDownloader(String _url) { - this.url = _url; - - } - - public void execute(){ - // 在这里实现你的代码, 注意: 需要用多线程实现下载 - // 这个类依赖于其他几个接口, 你需要写这几个接口的实现代码 - // (1) ConnectionManager , 可以打开一个连接,通过Connection可以读取其中的一段(用startPos, endPos来指定) - // (2) DownloadListener, 由于是多线程下载, 调用这个类的客户端不知道什么时候结束,所以你需要实现当所有 - // 线程都执行完以后, 调用listener的notifiedFinished方法, 这样客户端就能收到通知。 - // 具体的实现思路: - // 1. 需要调用ConnectionManager的open方法打开连接, 然后通过Connection.getContentLength方法获得文件的长度 - // 2. 至少启动3个线程下载, 注意每个线程需要先调用ConnectionManager的open方法 - // 然后调用read方法, read方法中有读取文件的开始位置和结束位置的参数, 返回值是byte[]数组 - // 3. 把byte数组写入到文件中 - // 4. 所有的线程都下载完成以后, 需要调用listener的notifiedFinished方法 - - // 下面的代码是示例代码, 也就是说只有一个线程, 你需要改造成多线程的。 - Connection conn = null; - try { - - conn = cm.open(this.url); - - int length = conn.getContentLength(); - - new DownloadThread(conn,0,length-1).start(); - - } catch (ConnectionException e) { - e.printStackTrace(); - }finally{ - if(conn != null){ - conn.close(); - } - } - - - - - } - - public void setListener(DownloadListener listener) { - this.listener = listener; - } - - - - public void setConnectionManager(ConnectionManager ucm){ - this.cm = ucm; - } - - public DownloadListener getListener(){ - return this.listener; - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloaderTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloaderTest.java deleted file mode 100644 index 4ff7f46ae0..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/FileDownloaderTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.download; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; -import com.coderising.download.impl.ConnectionManagerImpl; - -public class FileDownloaderTest { - boolean downloadFinished = false; - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testDownload() { - - String url = "http://localhost:8080/test.jpg"; - - FileDownloader downloader = new FileDownloader(url); - - - ConnectionManager cm = new ConnectionManagerImpl(); - downloader.setConnectionManager(cm); - - downloader.setListener(new DownloadListener() { - @Override - public void notifyFinished() { - downloadFinished = true; - } - - }); - - - downloader.execute(); - - // 等待多线程下载程序执行完毕 - while (!downloadFinished) { - try { - System.out.println("还没有下载完成,休眠五秒"); - //休眠5秒 - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - System.out.println("下载完成!"); - - - - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/Connection.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/Connection.java deleted file mode 100644 index 0957eaf7f4..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/Connection.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.download.api; - -import java.io.IOException; - -public interface Connection { - /** - * 给定开始和结束位置, 读取数据, 返回值是字节数组 - * @param startPos 开始位置, 从0开始 - * @param endPos 结束位置 - * @return - */ - public byte[] read(int startPos,int endPos) throws IOException; - /** - * 得到数据内容的长度 - * @return - */ - public int getContentLength(); - - /** - * 关闭连接 - */ - public void close(); -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionException.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionException.java deleted file mode 100644 index 1551a80b3d..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionException.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public class ConnectionException extends Exception { - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionManager.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionManager.java deleted file mode 100644 index ce045393b1..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/ConnectionManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.download.api; - -public interface ConnectionManager { - /** - * 给定一个url , 打开一个连接 - * @param url - * @return - */ - public Connection open(String url) throws ConnectionException; -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/DownloadListener.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/DownloadListener.java deleted file mode 100644 index bf9807b307..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/api/DownloadListener.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public interface DownloadListener { - public void notifyFinished(); -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionImpl.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionImpl.java deleted file mode 100644 index 36a9d2ce15..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.download.impl; - -import java.io.IOException; - -import com.coderising.download.api.Connection; - -public class ConnectionImpl implements Connection{ - - @Override - public byte[] read(int startPos, int endPos) throws IOException { - - return null; - } - - @Override - public int getContentLength() { - - return 0; - } - - @Override - public void close() { - - - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java deleted file mode 100644 index 172371dd55..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.download.impl; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; - -public class ConnectionManagerImpl implements ConnectionManager { - - @Override - public Connection open(String url) throws ConnectionException { - - return null; - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/LoginAction.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/LoginAction.java deleted file mode 100644 index dcdbe226ed..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/LoginAction.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.litestruts; - -/** - * 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。 - * @author liuxin - * - */ -public class LoginAction{ - private String name ; - private String password; - private String message; - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - public String execute(){ - if("test".equals(name) && "1234".equals(password)){ - this.message = "login successful"; - return "success"; - } - this.message = "login failed,please check your user/pwd"; - return "fail"; - } - - public void setName(String name){ - this.name = name; - } - public void setPassword(String password){ - this.password = password; - } - public String getMessage(){ - return this.message; - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/Struts.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/Struts.java deleted file mode 100644 index 85e2e22de3..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/Struts.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - - - -public class Struts { - - public static View runAction(String actionName, Map parameters) { - - /* - - 0. 读取配置文件struts.xml - - 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - - 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - - 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - - 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - - */ - - return null; - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/StrutsTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/StrutsTest.java deleted file mode 100644 index b8c81faf3c..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/StrutsTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.litestruts; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; - - - - - -public class StrutsTest { - - @Test - public void testLoginActionSuccess() { - - String actionName = "login"; - - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); - Assert.assertEquals("login successful", view.getParameters().get("message")); - } - - @Test - public void testLoginActionFailed() { - String actionName = "login"; - Map params = new HashMap(); - params.put("name","test"); - params.put("password","123456"); //密码和预设的不一致 - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); - Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/View.java b/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/View.java deleted file mode 100644 index 07df2a5dab..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/View.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - -public class View { - private String jsp; - private Map parameters; - - public String getJsp() { - return jsp; - } - public View setJsp(String jsp) { - this.jsp = jsp; - return this; - } - public Map getParameters() { - return parameters; - } - public View setParameters(Map parameters) { - this.parameters = parameters; - return this; - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/struts.xml b/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/struts.xml deleted file mode 100644 index e5d9aebba8..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coderising/litestruts/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/Iterator.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/array/ArrayList.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/array/ArrayList.java deleted file mode 100644 index 4576c016af..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/array/ArrayList.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class ArrayList implements List { - - private int size = 0; - - private Object[] elementData = new Object[100]; - - public void add(Object o){ - - } - public void add(int index, Object o){ - - } - - public Object get(int index){ - return null; - } - - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrame.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrame.java deleted file mode 100644 index 24b9d8b155..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrame.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.coding.basic.linklist; - - -public class LRUPageFrame { - - private static class Node { - - Node prev; - Node next; - int pageNum; - - Node() { - } - } - - private int capacity; - - private int currentSize; - private Node first;// 链表头 - private Node last;// 链表尾 - - - public LRUPageFrame(int capacity) { - this.currentSize = 0; - this.capacity = capacity; - - } - - /** - * 获取缓存中对象 - * - * @param key - * @return - */ - public void access(int pageNum) { - - Node node = find(pageNum); - //在该队列中存在, 则提到队列头 - if (node != null) { - - moveExistingNodeToHead(node); - - } else{ - - node = new Node(); - node.pageNum = pageNum; - - // 缓存容器是否已经超过大小. - if (currentSize >= capacity) { - removeLast(); - - } - - addNewNodetoHead(node); - - - - - } - } - - private void addNewNodetoHead(Node node) { - - if(isEmpty()){ - - node.prev = null; - node.next = null; - first = node; - last = node; - - } else{ - node.prev = null; - node.next = first; - first.prev = node; - first = node; - } - this.currentSize ++; - } - - private Node find(int data){ - - Node node = first; - while(node != null){ - if(node.pageNum == data){ - return node; - } - node = node.next; - } - return null; - - } - - - - - - - /** - * 删除链表尾部节点 表示 删除最少使用的缓存对象 - */ - private void removeLast() { - Node prev = last.prev; - prev.next = null; - last.prev = null; - last = prev; - this.currentSize --; - } - - /** - * 移动到链表头,表示这个节点是最新使用过的 - * - * @param node - */ - private void moveExistingNodeToHead(Node node) { - - if (node == first) { - - return; - } - else if(node == last){ - //当前节点是链表尾, 需要放到链表头 - Node prevNode = node.prev; - prevNode.next = null; - last.prev = null; - last = prevNode; - - } else{ - //node 在链表的中间, 把node 的前后节点连接起来 - Node prevNode = node.prev; - prevNode.next = node.next; - - Node nextNode = node.next; - nextNode.prev = prevNode; - - - } - - node.prev = null; - node.next = first; - first.prev = node; - first = node; - - } - private boolean isEmpty(){ - return (first == null) && (last == null); - } - - public String toString(){ - StringBuilder buffer = new StringBuilder(); - Node node = first; - while(node != null){ - buffer.append(node.pageNum); - - node = node.next; - if(node != null){ - buffer.append(","); - } - } - return buffer.toString(); - } - - - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java deleted file mode 100644 index 7fd72fc2b4..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic.linklist; - -import org.junit.Assert; - -import org.junit.Test; - - -public class LRUPageFrameTest { - - @Test - public void testAccess() { - LRUPageFrame frame = new LRUPageFrame(3); - frame.access(7); - frame.access(0); - frame.access(1); - Assert.assertEquals("1,0,7", frame.toString()); - frame.access(2); - Assert.assertEquals("2,1,0", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(3); - Assert.assertEquals("3,0,2", frame.toString()); - frame.access(0); - Assert.assertEquals("0,3,2", frame.toString()); - frame.access(4); - Assert.assertEquals("4,0,3", frame.toString()); - frame.access(5); - Assert.assertEquals("5,4,0", frame.toString()); - - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueue.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueue.java deleted file mode 100644 index f169d5f8e4..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueue.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.coding.basic.queue; - -public class CircleQueue { - - //用数组来保存循环队列的元素 - private Object[] elementData ; - int size = 0; - //队头 - private int front = 0; - //队尾 - private int rear = 0; - - public CircleQueue(int capacity){ - elementData = new Object[capacity]; - } - public boolean isEmpty() { - return (front == rear) && !isFull(); - - } - - public boolean isFull(){ - return size == elementData.length; - } - public int size() { - return size; - } - - public void enQueue(E data) { - if(isFull()){ - throw new RuntimeException("The queue is full"); - } - rear = (rear+1) % elementData.length; - elementData[rear++] = data; - size++; - } - - public E deQueue() { - if(isEmpty()){ - throw new RuntimeException("The queue is empty"); - } - E data = (E)elementData[front]; - elementData[front] = null; - front = (front+1) % elementData.length; - size --; - return data; - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueueTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueueTest.java deleted file mode 100644 index 7307eb77d4..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/CircleQueueTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coding.basic.queue; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class CircleQueueTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - CircleQueue queue = new CircleQueue(5); - Assert.assertTrue(queue.isEmpty()); - Assert.assertFalse(queue.isFull()); - - queue.enQueue("a"); - queue.enQueue("b"); - queue.enQueue("c"); - queue.enQueue("d"); - queue.enQueue("e"); - - Assert.assertTrue(queue.isFull()); - Assert.assertFalse(queue.isEmpty()); - Assert.assertEquals(5, queue.size()); - - Assert.assertEquals("a", queue.deQueue()); - Assert.assertEquals("b", queue.deQueue()); - Assert.assertEquals("c", queue.deQueue()); - Assert.assertEquals("d", queue.deQueue()); - Assert.assertEquals("e", queue.deQueue()); - - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/Josephus.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/Josephus.java deleted file mode 100644 index 36ec615d36..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/Josephus.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coding.basic.queue; - -import java.util.ArrayList; -import java.util.List; - -/** - * 用Queue来实现Josephus问题 - * 在这个古老的问题当中, N个深陷绝境的人一致同意用这种方式减少生存人数: N个人围成一圈(位置记为0到N-1), 并且从第一个人报数, 报到M的人会被杀死, 直到最后一个人留下来 - * @author liuxin - * - */ -public class Josephus { - - public static List execute(int n, int m){ - - Queue queue = new Queue(); - for (int i = 0; i < n; i++){ - queue.enQueue(i); - } - - List result = new ArrayList(); - int i = 0; - - while (!queue.isEmpty()) { - - int x = queue.deQueue(); - - if (++i % m == 0){ - result.add(x); - } else{ - queue.enQueue(x); - } - } - - - return result; - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java deleted file mode 100644 index bc97df0800..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coding.basic.queue; - -import java.util.NoSuchElementException; -import java.util.Stack; - -public class QueueWithTwoStacks { - private Stack stack1; - private Stack stack2; - - - public QueueWithTwoStacks() { - stack1 = new Stack(); - stack2 = new Stack(); - } - - - private void moveStack1ToStack2() { - while (!stack1.isEmpty()){ - stack2.push(stack1.pop()); - } - - } - - - public boolean isEmpty() { - return stack1.isEmpty() && stack2.isEmpty(); - } - - - - public int size() { - return stack1.size() + stack2.size(); - } - - - - public void enQueue(E item) { - stack1.push(item); - } - - public E deQueue() { - if (isEmpty()) { - throw new NoSuchElementException("Queue is empty"); - } - if (stack2.isEmpty()) { - moveStack1ToStack2(); - } - - return stack2.pop(); - } - - - - } - diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStack.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStack.java deleted file mode 100644 index faf2644ab1..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStack.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coding.basic.stack; - -import java.util.Stack; -/** - * 设计一个栈,支持栈的push和pop操作,以及第三种操作findMin, 它返回改数据结构中的最小元素 - * finMin操作最坏的情形下时间复杂度应该是O(1) , 简单来讲,操作一次就可以得到最小值 - * @author liuxin - * - */ -public class QuickMinStack { - - private Stack normalStack = new Stack(); - private Stack minNumStack = new Stack(); - - public void push(int data){ - - normalStack.push(data); - - if(minNumStack.isEmpty()){ - minNumStack.push(data); - } else{ - if(minNumStack.peek() >= data) { - minNumStack.push(data); - } - } - - } - public int pop(){ - if(normalStack.isEmpty()){ - throw new RuntimeException("the stack is empty"); - } - int value = normalStack.pop(); - if(value == minNumStack.peek()){ - minNumStack.pop(); - } - return value; - } - public int findMin(){ - if(minNumStack.isEmpty()){ - throw new RuntimeException("the stack is empty"); - } - return minNumStack.peek(); - } -} \ No newline at end of file diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStackTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStackTest.java deleted file mode 100644 index efe41a9f8f..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/QuickMinStackTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coding.basic.stack; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class QuickMinStackTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - QuickMinStack stack = new QuickMinStack(); - stack.push(5); - Assert.assertEquals(5, stack.findMin()); - stack.push(6); - Assert.assertEquals(5, stack.findMin()); - stack.push(4); - Assert.assertEquals(4, stack.findMin()); - stack.push(4); - Assert.assertEquals(4, stack.findMin()); - - stack.pop(); - Assert.assertEquals(4, stack.findMin()); - stack.pop(); - Assert.assertEquals(5, stack.findMin()); - stack.pop(); - Assert.assertEquals(5, stack.findMin()); - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackUtil.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackUtil.java deleted file mode 100644 index 7c86d22fe7..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackUtil.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.coding.basic.stack; -import java.util.Stack; -public class StackUtil { - - public static void bad_reverse(Stack s) { - if(s == null || s.isEmpty()){ - return; - } - Stack tmpStack = new Stack(); - while(!s.isEmpty()){ - tmpStack.push(s.pop()); - } - - s = tmpStack; - - } - - - - public static void reverse_247565311(Stack s){ - if(s == null || s.isEmpty()) { - return; - } - - int size = s.size(); - Stack tmpStack = new Stack(); - - for(int i=0;ii){ - tmpStack.push(s.pop()); - } - s.push(top); - while(tmpStack.size()>0){ - s.push(tmpStack.pop()); - } - } - } - - - - /** - * 假设栈中的元素是Integer, 从栈顶到栈底是 : 5,4,3,2,1 调用该方法后, 元素次序变为: 1,2,3,4,5 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - */ - public static void reverse(Stack s) { - if(s == null || s.isEmpty()){ - return; - } - - Stack tmp = new Stack(); - while(!s.isEmpty()){ - tmp.push(s.pop()); - } - while(!tmp.isEmpty()){ - Integer top = tmp.pop(); - addToBottom(s,top); - } - - - } - public static void addToBottom(Stack s, Integer value){ - if(s.isEmpty()){ - s.push(value); - } else{ - Integer top = s.pop(); - addToBottom(s,value); - s.push(top); - } - - } - /** - * 删除栈中的某个元素 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * - * @param o - */ - public static void remove(Stack s,Object o) { - if(s == null || s.isEmpty()){ - return; - } - Stack tmpStack = new Stack(); - - while(!s.isEmpty()){ - Object value = s.pop(); - if(!value.equals(o)){ - tmpStack.push(value); - } - } - - while(!tmpStack.isEmpty()){ - s.push(tmpStack.pop()); - } - } - - /** - * 从栈顶取得len个元素, 原来的栈中元素保持不变 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * @param len - * @return - */ - public static Object[] getTop(Stack s,int len) { - - if(s == null || s.isEmpty() || s.size() stack = new Stack(); - for(int i=0;i s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - - StackUtil.addToBottom(s, 0); - - Assert.assertEquals("[0, 1, 2, 3]", s.toString()); - - } - @Test - public void testReverse() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - Assert.assertEquals("[1, 2, 3, 4, 5]", s.toString()); - StackUtil.reverse(s); - Assert.assertEquals("[5, 4, 3, 2, 1]", s.toString()); - } - @Test - public void testReverse_247565311() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - - Assert.assertEquals("[1, 2, 3]", s.toString()); - StackUtil.reverse_247565311(s); - Assert.assertEquals("[3, 2, 1]", s.toString()); - } - @Test - public void testRemove() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - StackUtil.remove(s, 2); - Assert.assertEquals("[1, 3]", s.toString()); - } - - @Test - public void testGetTop() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - { - Object[] values = StackUtil.getTop(s, 3); - Assert.assertEquals(5, values[0]); - Assert.assertEquals(4, values[1]); - Assert.assertEquals(3, values[2]); - } - } - - @Test - public void testIsValidPairs() { - Assert.assertTrue(StackUtil.isValidPairs("([e{d}f])")); - Assert.assertFalse(StackUtil.isValidPairs("([b{x]y})")); - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java deleted file mode 100644 index 7a58fbff56..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.coding.basic.stack; - -import java.util.ArrayDeque; -import java.util.Queue; - -public class StackWithTwoQueues { - Queue queue1 = new ArrayDeque<>(); - Queue queue2 = new ArrayDeque<>(); - - public void push(int data) { - //两个栈都为空时,优先考虑queue1 - if (queue1.isEmpty()&&queue2.isEmpty()) { - queue1.add(data); - return; - } - - if (queue1.isEmpty()) { - queue2.add(data); - return; - } - - if (queue2.isEmpty()) { - queue1.add(data); - return; - } - - } - - public int pop() { - - if (queue1.isEmpty()&&queue2.isEmpty()) { - throw new RuntimeException("stack is empty"); - } - - if (queue1.isEmpty()) { - while (queue2.size()>1) { - queue1.add(queue2.poll()); - } - return queue2.poll(); - } - - if (queue2.isEmpty()) { - while (queue1.size()>1) { - queue2.add(queue1.poll()); - } - return queue1.poll(); - } - - throw new RuntimeException("no queue is empty, this is not allowed"); - - - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueuesTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueuesTest.java deleted file mode 100644 index 4541b1f040..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/StackWithTwoQueuesTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coding.basic.stack; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class StackWithTwoQueuesTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - StackWithTwoQueues stack = new StackWithTwoQueues(); - stack.push(1); - stack.push(2); - stack.push(3); - stack.push(4); - Assert.assertEquals(4, stack.pop()); - Assert.assertEquals(3, stack.pop()); - - stack.push(5); - Assert.assertEquals(5, stack.pop()); - Assert.assertEquals(2, stack.pop()); - Assert.assertEquals(1, stack.pop()); - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/Tail.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/Tail.java deleted file mode 100644 index 7f30ce55c8..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/Tail.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coding.basic.stack; - -public class Tail { - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java deleted file mode 100644 index a532fd6e6c..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.coding.basic.stack; - -import java.util.Arrays; - -/** - * 用一个数组实现两个栈 - * 将数组的起始位置看作是第一个栈的栈底,将数组的尾部看作第二个栈的栈底,压栈时,栈顶指针分别向中间移动,直到两栈顶指针相遇,则扩容。 - * @author liuxin - * - */ -public class TwoStackInOneArray { - private Object[] data = new Object[10]; - private int size; - private int top1, top2; - - public TwoStackInOneArray(int n){ - data = new Object[n]; - size = n; - top1 = -1; - top2 = data.length; - } - /** - * 向第一个栈中压入元素 - * @param o - */ - public void push1(Object o){ - ensureCapacity(); - data[++top1] = o; - } - /* - * 向第二个栈压入元素 - */ - public void push2(Object o){ - ensureCapacity(); - data[--top2] = o; - } - public void ensureCapacity(){ - if(top2-top1>1){ - return; - } else{ - - Object[] newArray = new Object[data.length*2]; - System.arraycopy(data, 0, newArray, 0, top1+1); - - int stack2Size = data.length-top2; - int newTop2 = newArray.length-stack2Size; - System.arraycopy(data, top2, newArray, newTop2, stack2Size); - - top2 = newTop2; - data = newArray; - } - } - /** - * 从第一个栈中弹出元素 - * @return - */ - public Object pop1(){ - if(top1 == -1){ - throw new RuntimeException("Stack1 is empty"); - } - Object o = data[top1]; - data[top1] = null; - top1--; - return o; - - } - /** - * 从第二个栈弹出元素 - * @return - */ - public Object pop2(){ - if(top2 == data.length){ - throw new RuntimeException("Stack2 is empty"); - } - Object o = data[top2]; - data[top2] = null; - top2++; - return o; - } - /** - * 获取第一个栈的栈顶元素 - * @return - */ - - public Object peek1(){ - if(top1 == -1){ - throw new RuntimeException("Stack1 is empty"); - } - return data[top1]; - } - - - /** - * 获取第二个栈的栈顶元素 - * @return - */ - - public Object peek2(){ - if(top2 == data.length){ - throw new RuntimeException("Stack2 is empty"); - } - return data[top2]; - } - - public Object[] stack1ToArray(){ - return Arrays.copyOf(data, top1+1); - } - public Object[] stack2ToArray(){ - int size = data.length-top2; - Object [] stack2Data = new Object[size]; - int j=0; - for(int i=data.length-1; i>=top2 ;i--){ - stack2Data[j++] = data[i]; - } - return stack2Data; - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArrayTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArrayTest.java deleted file mode 100644 index b743d422c6..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/TwoStackInOneArrayTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.coding.basic.stack; - -import java.util.Arrays; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class TwoStackInOneArrayTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test1() { - TwoStackInOneArray stack = new TwoStackInOneArray(10); - stack.push1(1); - stack.push1(2); - stack.push1(3); - stack.push1(4); - stack.push1(5); - - stack.push2(1); - stack.push2(2); - stack.push2(3); - stack.push2(4); - stack.push2(5); - - for(int i=1;i<=5;i++){ - Assert.assertEquals(stack.peek1(), stack.peek2()); - Assert.assertEquals(stack.pop1(), stack.pop2()); - } - - - } - @Test - public void test2() { - TwoStackInOneArray stack = new TwoStackInOneArray(5); - stack.push1(1); - stack.push1(2); - stack.push1(3); - stack.push1(4); - stack.push1(5); - stack.push1(6); - stack.push1(7); - - stack.push2(1); - stack.push2(2); - stack.push2(3); - stack.push2(4); - - - Assert.assertEquals("[1, 2, 3, 4, 5, 6, 7]",Arrays.toString(stack.stack1ToArray())); - Assert.assertEquals("[1, 2, 3, 4]",Arrays.toString(stack.stack2ToArray())); - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixExpr.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixExpr.java deleted file mode 100644 index cebef21fa3..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixExpr.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - - -public class InfixExpr { - String expr = null; - - public InfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - - - TokenParser parser = new TokenParser(); - List tokens = parser.parse(this.expr); - - - Stack opStack = new Stack<>(); - Stack numStack = new Stack<>(); - - for(Token token : tokens){ - - if (token.isOperator()){ - - while(!opStack.isEmpty() - && !token.hasHigherPriority(opStack.peek())){ - Token prevOperator = opStack.pop(); - Float f2 = numStack.pop(); - Float f1 = numStack.pop(); - Float result = calculate(prevOperator.toString(), f1,f2); - numStack.push(result); - - } - opStack.push(token); - } - if(token.isNumber()){ - numStack.push(new Float(token.getIntValue())); - } - } - - while(!opStack.isEmpty()){ - Token token = opStack.pop(); - Float f2 = numStack.pop(); - Float f1 = numStack.pop(); - numStack.push(calculate(token.toString(), f1,f2)); - } - - - return numStack.pop().floatValue(); - } - private Float calculate(String op, Float f1, Float f2){ - if(op.equals("+")){ - return f1+f2; - } - if(op.equals("-")){ - return f1-f2; - } - if(op.equals("*")){ - return f1*f2; - } - if(op.equals("/")){ - return f1/f2; - } - throw new RuntimeException(op + " is not supported"); - } - - - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java deleted file mode 100644 index 9e501eda20..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -public class InfixToPostfix { - - public static List convert(String expr) { - List inFixTokens = new TokenParser().parse(expr); - - List postFixTokens = new ArrayList<>(); - - Stack opStack = new Stack(); - for(Token token : inFixTokens){ - - if(token.isOperator()){ - - while(!opStack.isEmpty() - && !token.hasHigherPriority(opStack.peek())){ - postFixTokens.add(opStack.pop()); - - } - opStack.push(token); - - } - if(token.isNumber()){ - - postFixTokens.add(token); - - } - } - - while(!opStack.isEmpty()){ - postFixTokens.add(opStack.pop()); - } - - return postFixTokens; - } - - - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfixTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfixTest.java deleted file mode 100644 index f879f55f14..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixToPostfixTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class InfixToPostfixTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testConvert() { - { - List tokens = InfixToPostfix.convert("2+3"); - Assert.assertEquals("[2, 3, +]", tokens.toString()); - } - { - - List tokens = InfixToPostfix.convert("2+3*4"); - Assert.assertEquals("[2, 3, 4, *, +]", tokens.toString()); - } - - { - - List tokens = InfixToPostfix.convert("2-3*4+5"); - Assert.assertEquals("[2, 3, 4, *, -, 5, +]", tokens.toString()); - } - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java deleted file mode 100644 index c54eb69e2a..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PostfixExpr { -String expr = null; - - public PostfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - TokenParser parser = new TokenParser(); - List tokens = parser.parse(this.expr); - - - Stack numStack = new Stack<>(); - for(Token token : tokens){ - if(token.isNumber()){ - numStack.push(new Float(token.getIntValue())); - } else{ - Float f2 = numStack.pop(); - Float f1 = numStack.pop(); - numStack.push(calculate(token.toString(),f1,f2)); - } - } - return numStack.pop().floatValue(); - } - - private Float calculate(String op, Float f1, Float f2){ - if(op.equals("+")){ - return f1+f2; - } - if(op.equals("-")){ - return f1-f2; - } - if(op.equals("*")){ - return f1*f2; - } - if(op.equals("/")){ - return f1/f2; - } - throw new RuntimeException(op + " is not supported"); - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java deleted file mode 100644 index f811fd6d9a..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PrefixExpr { - String expr = null; - - public PrefixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - TokenParser parser = new TokenParser(); - List tokens = parser.parse(this.expr); - - Stack exprStack = new Stack<>(); - Stack numStack = new Stack<>(); - for(Token token : tokens){ - exprStack.push(token); - } - - while(!exprStack.isEmpty()){ - Token t = exprStack.pop(); - if(t.isNumber()){ - numStack.push(new Float(t.getIntValue())); - }else{ - Float f1 = numStack.pop(); - Float f2 = numStack.pop(); - numStack.push(calculate(t.toString(),f1,f2)); - - } - } - return numStack.pop().floatValue(); - } - - private Float calculate(String op, Float f1, Float f2){ - if(op.equals("+")){ - return f1+f2; - } - if(op.equals("-")){ - return f1-f2; - } - if(op.equals("*")){ - return f1*f2; - } - if(op.equals("/")){ - return f1/f2; - } - throw new RuntimeException(op + " is not supported"); - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTree.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTree.java deleted file mode 100644 index 284e5b0011..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTree.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; - -import com.coding.basic.queue.Queue; - - -public class BinarySearchTree { - - BinaryTreeNode root; - public BinarySearchTree(BinaryTreeNode root){ - this.root = root; - } - public BinaryTreeNode getRoot(){ - return root; - } - public T findMin(){ - if(root == null){ - return null; - } - return findMin(root).data; - } - public T findMax(){ - if(root == null){ - return null; - } - return findMax(root).data; - } - public int height() { - return height(root); - } - public int size() { - return size(root); - } - public void remove(T e){ - remove(e, root); - } - - private BinaryTreeNode remove(T x, BinaryTreeNode t){ - if(t == null){ - return t; - } - int compareResult = x.compareTo(t.data); - - if(compareResult< 0 ){ - t.left = remove(x,t.left); - - } else if(compareResult > 0){ - t.right = remove(x, t.right); - - } else { - if(t.left != null && t.right != null){ - - t.data = findMin(t.right).data; - t.right = remove(t.data,t.right); - - } else{ - t = (t.left != null) ? t.left : t.right; - } - } - return t; - } - - private BinaryTreeNode findMin(BinaryTreeNode p){ - if (p==null){ - return null; - } else if (p.left == null){ - return p; - } else{ - return findMin(p.left); - } - } - private BinaryTreeNode findMax(BinaryTreeNode p){ - if (p==null){ - return null; - }else if (p.right==null){ - return p; - } else{ - return findMax(p.right); - } - } - private int height(BinaryTreeNode t){ - if (t==null){ - return 0; - }else { - int leftChildHeight=height(t.left); - int rightChildHeight=height(t.right); - if(leftChildHeight > rightChildHeight){ - return leftChildHeight+1; - } else{ - return rightChildHeight+1; - } - } - } - private int size(BinaryTreeNode t){ - if (t == null){ - return 0; - } - return size(t.left) + 1 + size(t.right); - - } - - public List levelVisit(){ - List result = new ArrayList(); - if(root == null){ - return result; - } - Queue> queue = new Queue>(); - BinaryTreeNode node = root; - queue.enQueue(node); - while (!queue.isEmpty()) { - node = queue.deQueue(); - result.add(node.data); - if (node.left != null){ - queue.enQueue(node.left); - } - if (node.right != null){ - queue.enQueue(node.right); - } - } - return result; - } - public boolean isValid(){ - return isValid(root); - } - public T getLowestCommonAncestor(T n1, T n2){ - if (root == null){ - return null; - } - return lowestCommonAncestor(root,n1,n2); - - } - public List getNodesBetween(T n1, T n2){ - List elements = new ArrayList<>(); - getNodesBetween(elements,root,n1,n2); - return elements; - } - - public void getNodesBetween(List elements ,BinaryTreeNode node, T n1, T n2){ - - if (node == null) { - return; - } - - if (n1.compareTo(node.data) < 0) { - getNodesBetween(elements,node.left, n1, n2); - } - - if ((n1.compareTo(node.data) <= 0 ) - && (n2.compareTo(node.data) >= 0 )) { - elements.add(node.data); - } - if (n2.compareTo(node.data)>0) { - getNodesBetween(elements,node.right, n1, n2); - } - } - private T lowestCommonAncestor(BinaryTreeNode node,T n1, T n2){ - if(node == null){ - return null; - } - // 如果n1和n2都比 node的值小, LCA在左孩子 - if (node.data.compareTo(n1) > 0 && node.data.compareTo(n2) >0){ - return lowestCommonAncestor(node.left, n1, n2); - } - - // 如果n1和n2都比 node的值小, LCA在右孩子 - if (node.data.compareTo(n1) < 0 && node.data.compareTo(n2) <0) - return lowestCommonAncestor(node.right, n1, n2); - - return node.data; - } - private boolean isValid(BinaryTreeNode t){ - if(t == null){ - return true; - } - if(t.left != null && findMax(t.left).data.compareTo(t.data) >0){ - return false; - } - if(t.right !=null && findMin(t.right).data.compareTo(t.data) <0){ - return false; - } - if(!isValid(t.left) || !isValid(t.right)){ - return false; - } - return true; - } -} - diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java deleted file mode 100644 index 590e60306c..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinarySearchTreeTest { - - BinarySearchTree tree = null; - - @Before - public void setUp() throws Exception { - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(1); - root.left.right = new BinaryTreeNode(4); - root.left.right.left = new BinaryTreeNode(3); - root.left.right.right = new BinaryTreeNode(5); - tree = new BinarySearchTree(root); - } - - @After - public void tearDown() throws Exception { - tree = null; - } - - @Test - public void testFindMin() { - Assert.assertEquals(1, tree.findMin().intValue()); - - } - - @Test - public void testFindMax() { - Assert.assertEquals(8, tree.findMax().intValue()); - } - - @Test - public void testHeight() { - Assert.assertEquals(4, tree.height()); - } - - @Test - public void testSize() { - Assert.assertEquals(7, tree.size()); - } - - @Test - public void testRemoveLeaf() { - tree.remove(3); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(4, root.left.right.data.intValue()); - - } - @Test - public void testRemoveMiddleNode1() { - tree.remove(4); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(5, root.left.right.data.intValue()); - Assert.assertEquals(3, root.left.right.left.data.intValue()); - } - @Test - public void testRemoveMiddleNode2() { - tree.remove(2); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(3, root.left.data.intValue()); - Assert.assertEquals(4, root.left.right.data.intValue()); - } - - @Test - public void testLevelVisit() { - List values = tree.levelVisit(); - Assert.assertEquals("[6, 2, 8, 1, 4, 3, 5]", values.toString()); - - } - @Test - public void testLCA(){ - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 5).intValue()); - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 4).intValue()); - Assert.assertEquals(6,tree.getLowestCommonAncestor(3, 8).intValue()); - } - @Test - public void testIsValid() { - - Assert.assertTrue(tree.isValid()); - - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(4); - root.left.right = new BinaryTreeNode(1); - root.left.right.left = new BinaryTreeNode(3); - tree = new BinarySearchTree(root); - - Assert.assertFalse(tree.isValid()); - } - @Test - public void testGetNodesBetween(){ - List numbers = this.tree.getNodesBetween(3, 8); - Assert.assertEquals("[3, 4, 5, 6, 8]",numbers.toString()); - } -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeNode.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeNode.java deleted file mode 100644 index 3f6f4d2b44..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeNode.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coding.basic.tree; - -public class BinaryTreeNode { - - public T data; - public BinaryTreeNode left; - public BinaryTreeNode right; - - public BinaryTreeNode(T data){ - this.data=data; - } - public T getData() { - return data; - } - public void setData(T data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java deleted file mode 100644 index f2a6515fa6..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -public class BinaryTreeUtil { - /** - * 用递归的方式实现对二叉树的前序遍历, 需要通过BinaryTreeUtilTest测试 - * - * @param root - * @return - */ - public static List preOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - preOrderVisit(root, result); - return result; - } - - /** - * 用递归的方式实现对二叉树的中遍历 - * - * @param root - * @return - */ - public static List inOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - inOrderVisit(root, result); - return result; - } - - /** - * 用递归的方式实现对二叉树的后遍历 - * - * @param root - * @return - */ - public static List postOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - postOrderVisit(root, result); - return result; - } - - public static List preOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - Stack> stack = new Stack>(); - - BinaryTreeNode node = root; - - if(node != null){ - stack.push(node); - } - - while(!stack.isEmpty()){ - node = stack.pop(); - result.add(node.data); - - if(node.right != null){ - stack.push(node.right); - } - - if(node.left != null){ - stack.push(node.right); - } - } - return result; - } - - public static List inOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - BinaryTreeNode node = root; - Stack> stack = new Stack>(); - - while (node != null || !stack.isEmpty()) { - - while (node != null) { - stack.push(node); - node = node.left; - } - BinaryTreeNode currentNode = stack.pop(); - result.add(currentNode.data); - node = currentNode.right; - } - return result; - } - - private static void preOrderVisit(BinaryTreeNode node, List result) { - if (node == null) { - return; - } - result.add(node.getData()); - preOrderVisit(node.getLeft(), result); - preOrderVisit(node.getRight(), result); - } - - private static void inOrderVisit(BinaryTreeNode node, List result) { - if (node == null) { - return; - } - inOrderVisit(node.getLeft(), result); - result.add(node.getData()); - inOrderVisit(node.getRight(), result); - } - - private static void postOrderVisit(BinaryTreeNode node, List result) { - if (node == null) { - return; - } - postOrderVisit(node.getLeft(), result); - postOrderVisit(node.getRight(), result); - result.add(node.getData()); - } - -} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/FileList.java b/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/FileList.java deleted file mode 100644 index 85fb8ab2a4..0000000000 --- a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/FileList.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic.tree; - -import java.io.File; - -public class FileList { - public void list(File f) { - list(f, 0); - } - - public void list(File f, int depth) { - printName(f, depth); - if (f.isDirectory()) { - File[] files = f.listFiles(); - for (File i : files) - list(i, depth + 1); - } - } - - void printName(File f, int depth) { - String name = f.getName(); - for (int i = 0; i < depth; i++) - System.out.print("+"); - if (f.isDirectory()) - System.out.println("Dir: " + name); - else - System.out.println(f.getName() + " " + f.length()); - } - - public static void main(String args[]) { - FileList L = new FileList(); - File f = new File("C:\\coderising\\tmp"); - L.list(f); - } -} diff --git a/students/1377699408/data-structure/assignment/pom.xml b/students/1377699408/data-structure/assignment/pom.xml deleted file mode 100644 index 5024466d17..0000000000 --- a/students/1377699408/data-structure/assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ds-assignment - 0.0.1-SNAPSHOT - jar - - ds-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java deleted file mode 100644 index 900a3ad358..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; - -public class DownloadThread extends Thread{ - - Connection conn; - int startPos; - int endPos; - - public DownloadThread( Connection conn, int startPos, int endPos){ - - this.conn = conn; - this.startPos = startPos; - this.endPos = endPos; - } - public void run(){ - - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java deleted file mode 100644 index c3c8a3f27d..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; - - -public class FileDownloader { - - String url; - - DownloadListener listener; - - ConnectionManager cm; - - - public FileDownloader(String _url) { - this.url = _url; - - } - - public void execute(){ - // 在这里实现你的代码, 注意: 需要用多线程实现下载 - // 这个类依赖于其他几个接口, 你需要写这几个接口的实现代码 - // (1) ConnectionManager , 可以打开一个连接,通过Connection可以读取其中的一段(用startPos, endPos来指定) - // (2) DownloadListener, 由于是多线程下载, 调用这个类的客户端不知道什么时候结束,所以你需要实现当所有 - // 线程都执行完以后, 调用listener的notifiedFinished方法, 这样客户端就能收到通知。 - // 具体的实现思路: - // 1. 需要调用ConnectionManager的open方法打开连接, 然后通过Connection.getContentLength方法获得文件的长度 - // 2. 至少启动3个线程下载, 注意每个线程需要先调用ConnectionManager的open方法 - // 然后调用read方法, read方法中有读取文件的开始位置和结束位置的参数, 返回值是byte[]数组 - // 3. 把byte数组写入到文件中 - // 4. 所有的线程都下载完成以后, 需要调用listener的notifiedFinished方法 - - // 下面的代码是示例代码, 也就是说只有一个线程, 你需要改造成多线程的。 - Connection conn = null; - try { - - conn = cm.open(this.url); - - int length = conn.getContentLength(); - - new DownloadThread(conn,0,length-1).start(); - - } catch (ConnectionException e) { - e.printStackTrace(); - }finally{ - if(conn != null){ - conn.close(); - } - } - - - - - } - - public void setListener(DownloadListener listener) { - this.listener = listener; - } - - - - public void setConnectionManager(ConnectionManager ucm){ - this.cm = ucm; - } - - public DownloadListener getListener(){ - return this.listener; - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java deleted file mode 100644 index 4ff7f46ae0..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.download; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; -import com.coderising.download.impl.ConnectionManagerImpl; - -public class FileDownloaderTest { - boolean downloadFinished = false; - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testDownload() { - - String url = "http://localhost:8080/test.jpg"; - - FileDownloader downloader = new FileDownloader(url); - - - ConnectionManager cm = new ConnectionManagerImpl(); - downloader.setConnectionManager(cm); - - downloader.setListener(new DownloadListener() { - @Override - public void notifyFinished() { - downloadFinished = true; - } - - }); - - - downloader.execute(); - - // 等待多线程下载程序执行完毕 - while (!downloadFinished) { - try { - System.out.println("还没有下载完成,休眠五秒"); - //休眠5秒 - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - System.out.println("下载完成!"); - - - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java deleted file mode 100644 index 0957eaf7f4..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.download.api; - -import java.io.IOException; - -public interface Connection { - /** - * 给定开始和结束位置, 读取数据, 返回值是字节数组 - * @param startPos 开始位置, 从0开始 - * @param endPos 结束位置 - * @return - */ - public byte[] read(int startPos,int endPos) throws IOException; - /** - * 得到数据内容的长度 - * @return - */ - public int getContentLength(); - - /** - * 关闭连接 - */ - public void close(); -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java deleted file mode 100644 index 1551a80b3d..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public class ConnectionException extends Exception { - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java deleted file mode 100644 index ce045393b1..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.download.api; - -public interface ConnectionManager { - /** - * 给定一个url , 打开一个连接 - * @param url - * @return - */ - public Connection open(String url) throws ConnectionException; -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java deleted file mode 100644 index bf9807b307..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public interface DownloadListener { - public void notifyFinished(); -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java deleted file mode 100644 index 36a9d2ce15..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.download.impl; - -import java.io.IOException; - -import com.coderising.download.api.Connection; - -public class ConnectionImpl implements Connection{ - - @Override - public byte[] read(int startPos, int endPos) throws IOException { - - return null; - } - - @Override - public int getContentLength() { - - return 0; - } - - @Override - public void close() { - - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java deleted file mode 100644 index 172371dd55..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.download.impl; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; - -public class ConnectionManagerImpl implements ConnectionManager { - - @Override - public Connection open(String url) throws ConnectionException { - - return null; - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java deleted file mode 100644 index dcdbe226ed..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.litestruts; - -/** - * 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。 - * @author liuxin - * - */ -public class LoginAction{ - private String name ; - private String password; - private String message; - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - public String execute(){ - if("test".equals(name) && "1234".equals(password)){ - this.message = "login successful"; - return "success"; - } - this.message = "login failed,please check your user/pwd"; - return "fail"; - } - - public void setName(String name){ - this.name = name; - } - public void setPassword(String password){ - this.password = password; - } - public String getMessage(){ - return this.message; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java deleted file mode 100644 index 85e2e22de3..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - - - -public class Struts { - - public static View runAction(String actionName, Map parameters) { - - /* - - 0. 读取配置文件struts.xml - - 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - - 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - - 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - - 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - - */ - - return null; - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java deleted file mode 100644 index b8c81faf3c..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.litestruts; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; - - - - - -public class StrutsTest { - - @Test - public void testLoginActionSuccess() { - - String actionName = "login"; - - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); - Assert.assertEquals("login successful", view.getParameters().get("message")); - } - - @Test - public void testLoginActionFailed() { - String actionName = "login"; - Map params = new HashMap(); - params.put("name","test"); - params.put("password","123456"); //密码和预设的不一致 - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); - Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java deleted file mode 100644 index 07df2a5dab..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - -public class View { - private String jsp; - private Map parameters; - - public String getJsp() { - return jsp; - } - public View setJsp(String jsp) { - this.jsp = jsp; - return this; - } - public Map getParameters() { - return parameters; - } - public View setParameters(Map parameters) { - this.parameters = parameters; - return this; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml deleted file mode 100644 index e5d9aebba8..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java deleted file mode 100644 index 436d092f58..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - - - public boolean equals(Object o){ - if(o == null || !(o instanceof Course)){ - return false; - } - Course c = (Course)o; - return (c != null) && c.id.equals(id); - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java deleted file mode 100644 index ab8c764584..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public int getMaxStudents() { - return maxStudents; - } - - public List getStudents() { - return students; - } - - public Course getCourse() { - return course; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java deleted file mode 100644 index 8c34bad0c3..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.course.bad; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //如果学生上过该科目的先修科目,并且该课程还未满, 则学生可以加入该课程 - if(student.getCoursesAlreadyTaken().containsAll( - sc.getCourse().getPrerequisites()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java deleted file mode 100644 index a651923ef5..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java deleted file mode 100644 index aefc9692bb..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - -} - - diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java deleted file mode 100644 index 8660ec8109..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public List getStudents() { - return students; - } - public int getMaxStudents() { - return maxStudents; - } - public Course getCourse() { - return course; - } - - - // 第二步: 把主要逻辑移动到CourseOffering 中 - public void addStudent(Student student){ - - if(student.canAttend(course) - && this.maxStudents > students.size()){ - students.add(student); - } - } - // 第三步: 重构CourseService -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java deleted file mode 100644 index 22ba4a5450..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.good; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //第一步:重构: canAttend , 但是还有问题 - if(student.canAttend(sc.getCourse()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java deleted file mode 100644 index 2c7e128b2a..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } - - public boolean canAttend(Course course){ - return this.coursesAlreadyTaken.containsAll( - course.getPrerequisites()); - } -} - - diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java deleted file mode 100644 index 0357c4d912..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood.ocp; - -public class Logger { - - public final int RAW_LOG = 1; - public final int RAW_LOG_WITH_DATE = 2; - public final int EMAIL_LOG = 1; - public final int SMS_LOG = 2; - public final int PRINT_LOG = 3; - - int type = 0; - int method = 0; - - public Logger(int logType, int logMethod){ - this.type = logType; - this.method = logMethod; - } - public void log(String msg){ - - String logMsg = msg; - - if(this.type == RAW_LOG){ - logMsg = msg; - } else if(this.type == RAW_LOG_WITH_DATE){ - String txtDate = DateUtil.getCurrentDateAsString(); - logMsg = txtDate + ": " + msg; - } - - if(this.method == EMAIL_LOG){ - MailUtil.send(logMsg); - } else if(this.method == SMS_LOG){ - SMSUtil.send(logMsg); - } else if(this.method == PRINT_LOG){ - System.out.println(logMsg); - } - } -} - diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java deleted file mode 100644 index ec54b839c5..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class MailUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java deleted file mode 100644 index 13cf802418..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class SMSUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/List.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/List.java deleted file mode 100644 index 10d13b5832..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/List.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index, Object o); - public Object get(int index); - public Object remove(int index); - public int size(); -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java deleted file mode 100644 index 4576c016af..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class ArrayList implements List { - - private int size = 0; - - private Object[] elementData = new Object[100]; - - public void add(Object o){ - - } - public void add(int index, Object o){ - - } - - public Object get(int index){ - return null; - } - - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java deleted file mode 100644 index 45740e6d57..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.coding.basic.array; - -public class ArrayUtil { - - /** - * 给定一个整形数组a , 对该数组的值进行置换 - 例如: a = [7, 9 , 30, 3] , 置换后为 [3, 30, 9,7] - 如果 a = [7, 9, 30, 3, 4] , 置换后为 [4,3, 30 , 9,7] - * @param origin - * @return - */ - public void reverseArray(int[] origin){ - - } - - /** - * 现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} - * 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: - * {1,3,4,5,6,6,5,4,7,6,7,5} - * @param oldArray - * @return - */ - - public int[] removeZero(int[] oldArray){ - return null; - } - - /** - * 给定两个已经排序好的整形数组, a1和a2 , 创建一个新的数组a3, 使得a3 包含a1和a2 的所有元素, 并且仍然是有序的 - * 例如 a1 = [3, 5, 7,8] a2 = [4, 5, 6,7] 则 a3 为[3,4,5,6,7,8] , 注意: 已经消除了重复 - * @param array1 - * @param array2 - * @return - */ - - public int[] merge(int[] array1, int[] array2){ - return null; - } - /** - * 把一个已经存满数据的数组 oldArray的容量进行扩展, 扩展后的新数据大小为oldArray.length + size - * 注意,老数组的元素在新数组中需要保持 - * 例如 oldArray = [2,3,6] , size = 3,则返回的新数组为 - * [2,3,6,0,0,0] - * @param oldArray - * @param size - * @return - */ - public int[] grow(int [] oldArray, int size){ - return null; - } - - /** - * 斐波那契数列为:1,1,2,3,5,8,13,21...... ,给定一个最大值, 返回小于该值的数列 - * 例如, max = 15 , 则返回的数组应该为 [1,1,2,3,5,8,13] - * max = 1, 则返回空数组 [] - * @param max - * @return - */ - public int[] fibonacci(int max){ - return null; - } - - /** - * 返回小于给定最大值max的所有素数数组 - * 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19] - * @param max - * @return - */ - public int[] getPrimes(int max){ - return null; - } - - /** - * 所谓“完数”, 是指这个数恰好等于它的因子之和,例如6=1+2+3 - * 给定一个最大值max, 返回一个数组, 数组中是小于max 的所有完数 - * @param max - * @return - */ - public int[] getPerfectNumbers(int max){ - return null; - } - - /** - * 用seperator 把数组 array给连接起来 - * 例如array= [3,8,9], seperator = "-" - * 则返回值为"3-8-9" - * @param array - * @param s - * @return - */ - public String join(int[] array, String seperator){ - return null; - } - - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java deleted file mode 100644 index 7fd72fc2b4..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic.linklist; - -import org.junit.Assert; - -import org.junit.Test; - - -public class LRUPageFrameTest { - - @Test - public void testAccess() { - LRUPageFrame frame = new LRUPageFrame(3); - frame.access(7); - frame.access(0); - frame.access(1); - Assert.assertEquals("1,0,7", frame.toString()); - frame.access(2); - Assert.assertEquals("2,1,0", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(3); - Assert.assertEquals("3,0,2", frame.toString()); - frame.access(0); - Assert.assertEquals("0,3,2", frame.toString()); - frame.access(4); - Assert.assertEquals("4,0,3", frame.toString()); - frame.access(5); - Assert.assertEquals("5,4,0", frame.toString()); - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java deleted file mode 100644 index f4c7556a2e..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.coding.basic.linklist; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class LinkedList implements List { - - private Node head; - - public void add(Object o){ - - } - public void add(int index , Object o){ - - } - public Object get(int index){ - return null; - } - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public void addFirst(Object o){ - - } - public void addLast(Object o){ - - } - public Object removeFirst(){ - return null; - } - public Object removeLast(){ - return null; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - } - - /** - * 把该链表逆置 - * 例如链表为 3->7->10 , 逆置后变为 10->7->3 - */ - public void reverse(){ - - } - - /** - * 删除一个单链表的前半部分 - * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 - * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 - - */ - public void removeFirstHalf(){ - - } - - /** - * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 - * @param i - * @param length - */ - public void remove(int i, int length){ - - } - /** - * 假定当前链表和listB均包含已升序排列的整数 - * 从当前链表中取出那些listB所指定的元素 - * 例如当前链表 = 11->101->201->301->401->501->601->701 - * listB = 1->3->4->6 - * 返回的结果应该是[101,301,401,601] - * @param list - */ - public int[] getElements(LinkedList list){ - return null; - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 从当前链表中中删除在listB中出现的元素 - - * @param list - */ - - public void subtract(LinkedList list){ - - } - - /** - * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) - */ - public void removeDuplicateValues(){ - - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) - * @param min - * @param max - */ - public void removeRange(int min, int max){ - - } - - /** - * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) - * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 - * @param list - */ - public LinkedList intersection( LinkedList list){ - return null; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java deleted file mode 100644 index 7d90318b51..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coding.basic.queue; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class JosephusTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testExecute() { - - Assert.assertEquals("[1, 3, 5, 0, 4, 2, 6]", Josephus.execute(7, 2).toString()); - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java deleted file mode 100644 index c4c4b7325e..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.coding.basic.queue; - -import java.util.NoSuchElementException; - -public class Queue { - private Node first; - private Node last; - private int size; - - - private static class Node { - private E item; - private Node next; - } - - - public Queue() { - first = null; - last = null; - size = 0; - } - - - public boolean isEmpty() { - return first == null; - } - - public int size() { - return size; - } - - - - public void enQueue(E data) { - Node oldlast = last; - last = new Node(); - last.item = data; - last.next = null; - if (isEmpty()) { - first = last; - } - else{ - oldlast.next = last; - } - size++; - } - - public E deQueue() { - if (isEmpty()) { - throw new NoSuchElementException("Queue underflow"); - } - E item = first.item; - first = first.next; - size--; - if (isEmpty()) { - last = null; - } - return item; - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java deleted file mode 100644 index fedb243604..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.basic.stack; - -import com.coding.basic.array.ArrayList; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java deleted file mode 100644 index 20e34e8852..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class InfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - //InfixExpr expr = new InfixExpr("300*20+12*5-20/4"); - { - InfixExpr expr = new InfixExpr("2+3*4+5"); - Assert.assertEquals(19.0, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("3*20+12*5-40/2"); - Assert.assertEquals(100.0, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("3*20/2"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("20/2*3"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("10-30+50"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("10-2*3+50"); - Assert.assertEquals(54, expr.evaluate(), 0.001f); - } - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java deleted file mode 100644 index c0435a2db5..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - - - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class PostfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - PostfixExpr expr = new PostfixExpr("6 5 2 3 + 8 * + 3 + *"); - Assert.assertEquals(288, expr.evaluate(),0.0f); - } - { - //9+(3-1)*3+10/2 - PostfixExpr expr = new PostfixExpr("9 3 1-3*+ 10 2/+"); - Assert.assertEquals(20, expr.evaluate(),0.0f); - } - - { - //10-2*3+50 - PostfixExpr expr = new PostfixExpr("10 2 3 * - 50 +"); - Assert.assertEquals(54, expr.evaluate(),0.0f); - } - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java deleted file mode 100644 index 5cec210e75..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class PrefixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - // 2*3+4*5 - PrefixExpr expr = new PrefixExpr("+ * 2 3* 4 5"); - Assert.assertEquals(26, expr.evaluate(),0.001f); - } - { - // 4*2 + 6+9*2/3 -8 - PrefixExpr expr = new PrefixExpr("-++6/*2 9 3 * 4 2 8"); - Assert.assertEquals(12, expr.evaluate(),0.001f); - } - { - //(3+4)*5-6 - PrefixExpr expr = new PrefixExpr("- * + 3 4 5 6"); - Assert.assertEquals(29, expr.evaluate(),0.001f); - } - { - //1+((2+3)*4)-5 - PrefixExpr expr = new PrefixExpr("- + 1 * + 2 3 4 5"); - Assert.assertEquals(16, expr.evaluate(),0.001f); - } - - - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java deleted file mode 100644 index 8579743fe9..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -class Token { - public static final List OPERATORS = Arrays.asList("+", "-", "*", "/"); - private static final Map priorities = new HashMap<>(); - static { - priorities.put("+", 1); - priorities.put("-", 1); - priorities.put("*", 2); - priorities.put("/", 2); - } - static final int OPERATOR = 1; - static final int NUMBER = 2; - String value; - int type; - public Token(int type, String value){ - this.type = type; - this.value = value; - } - - public boolean isNumber() { - return type == NUMBER; - } - - public boolean isOperator() { - return type == OPERATOR; - } - - public int getIntValue() { - return Integer.valueOf(value).intValue(); - } - public String toString(){ - return value; - } - - public boolean hasHigherPriority(Token t){ - if(!this.isOperator() && !t.isOperator()){ - throw new RuntimeException("numbers can't compare priority"); - } - return priorities.get(this.value) - priorities.get(t.value) > 0; - } - - - -} \ No newline at end of file diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java deleted file mode 100644 index d3b0f167e1..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.ArrayList; -import java.util.List; - -public class TokenParser { - - - public List parse(String expr) { - List tokens = new ArrayList<>(); - - int i = 0; - - while (i < expr.length()) { - - char c = expr.charAt(i); - - if (isOperator(c)) { - - Token t = new Token(Token.OPERATOR, String.valueOf(c)); - tokens.add(t); - i++; - - } else if (Character.isDigit(c)) { - - int nextOperatorIndex = indexOfNextOperator(i, expr); - String value = expr.substring(i, nextOperatorIndex); - Token t = new Token(Token.NUMBER, value); - tokens.add(t); - i = nextOperatorIndex; - - } else{ - System.out.println("char :["+c+"] is not number or operator,ignore"); - i++; - } - - } - return tokens; - } - - private int indexOfNextOperator(int i, String expr) { - - while (Character.isDigit(expr.charAt(i))) { - i++; - if (i == expr.length()) { - break; - } - } - return i; - - } - - private boolean isOperator(char c) { - String sc = String.valueOf(c); - return Token.OPERATORS.contains(sc); - } -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java deleted file mode 100644 index 399d3e857e..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - -import static org.junit.Assert.*; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class TokenParserTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - - TokenParser parser = new TokenParser(); - List tokens = parser.parse("300*20+12*5-20/4"); - - Assert.assertEquals(300, tokens.get(0).getIntValue()); - Assert.assertEquals("*", tokens.get(1).toString()); - Assert.assertEquals(20, tokens.get(2).getIntValue()); - Assert.assertEquals("+", tokens.get(3).toString()); - Assert.assertEquals(12, tokens.get(4).getIntValue()); - Assert.assertEquals("*", tokens.get(5).toString()); - Assert.assertEquals(5, tokens.get(6).getIntValue()); - Assert.assertEquals("-", tokens.get(7).toString()); - Assert.assertEquals(20, tokens.get(8).getIntValue()); - Assert.assertEquals("/", tokens.get(9).toString()); - Assert.assertEquals(4, tokens.get(10).getIntValue()); - } - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java b/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java deleted file mode 100644 index 41857e137d..0000000000 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinaryTreeUtilTest { - - BinaryTreeNode root = null; - @Before - public void setUp() throws Exception { - root = new BinaryTreeNode(1); - root.setLeft(new BinaryTreeNode(2)); - root.setRight(new BinaryTreeNode(5)); - root.getLeft().setLeft(new BinaryTreeNode(3)); - root.getLeft().setRight(new BinaryTreeNode(4)); - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testPreOrderVisit() { - - List result = BinaryTreeUtil.preOrderVisit(root); - Assert.assertEquals("[1, 2, 3, 4, 5]", result.toString()); - - - } - @Test - public void testInOrderVisit() { - - - List result = BinaryTreeUtil.inOrderVisit(root); - Assert.assertEquals("[3, 2, 4, 1, 5]", result.toString()); - - } - - @Test - public void testPostOrderVisit() { - - - List result = BinaryTreeUtil.postOrderVisit(root); - Assert.assertEquals("[3, 4, 2, 5, 1]", result.toString()); - - } - - - @Test - public void testInOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.inOrderWithoutRecursion(root); - Assert.assertEquals("[3, 2, 6, 4, 7, 1, 5]", result.toString()); - - } - @Test - public void testPreOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.preOrderWithoutRecursion(root); - Assert.assertEquals("[1, 2, 3, 4, 6, 7, 5]", result.toString()); - - } -} diff --git a/students/1377699408/ood/ood-assignment/pom.xml b/students/1377699408/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/1377699408/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index ccffce577d..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/EmailException.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/EmailException.java deleted file mode 100644 index 1be735e5f5..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/EmailException.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.ood.srp; - -public class EmailException extends Exception { - public EmailException(String message) { - super(message); - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 4397366a16..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.bean.Email; -import com.coderising.ood.srp.bean.Product; -import com.coderising.ood.srp.dao.EmailDAO; - -import java.io.IOException; -import java.util.*; - -public class PromotionMail { - private static EmailDAO emailDAO = new EmailDAO(); - - public static void main(String[] args) throws Exception { - List emailList = getEmails("product_promotion.txt"); - for (Email email : emailList) { - sendEmail(email); - } - - } - - public static List getEmails(String file) throws IOException { - List emailList = new ArrayList(); - List list = Product.getProductByFile(file); - - for (Product p : list) { - String productId = p.getProductID(); - List> l = emailDAO.listSubscriptionsByProdoctId(productId); - for (Map userInfo : l) { - String username = userInfo.get("NAME"); - String productDesc = p.getProductDesc(); - String fromAddr = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - List toAddr = new ArrayList(); - toAddr.add(userInfo.get("EMAIL")); - String smtpServer = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - Email email = new Email(fromAddr, toAddr, "\"您关注的产品降价了\"", "尊敬的 " + username + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!", smtpServer, fromAddr); - emailList.add(email); - } - } - return emailList; - } - - public static void sendEmail(Email email) { - if (email == null) { - System.out.println("没有邮件发送"); - } - try { - email.send(); - } catch (EmailException e) { - email.setSmtpServer(Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - try { - email.send(); - } catch (EmailException e1) { - System.out.println("使用备用服务器发送失败"); - } - } - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java deleted file mode 100644 index de6cfe1636..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.coderising.ood.srp.bean; - - -import com.coderising.ood.srp.utils.CollectionUtils; -import com.coderising.ood.srp.EmailException; -import com.coderising.ood.srp.utils.StringUtils; - -import java.util.Arrays; -import java.util.List; - -public class Email { - private String fromAddress; - private List toAddresses; - private String subject; - private String content; - private String smtpServer; - private String email_admin; - - public Email(String fromAddress, List toAddresses, String subject, String content, String smtpServer, String email_admin) { - this.fromAddress = fromAddress; - this.toAddresses = toAddresses; - this.subject = subject; - this.content = content; - this.smtpServer = smtpServer; - this.email_admin = email_admin; - } - - public void send() throws EmailException { - //假装发了一封邮件 - check_send(); - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(this.getFromAddress()).append("\n"); - buffer.append("To:").append(Arrays.toString(this.getToAddresses().toArray())).append("\n"); - buffer.append("Subject:").append(this.getSubject()).append("\n"); - buffer.append("Content:").append(this.getContent()).append("\n"); - System.out.println(buffer.toString()); - } - - private void check_send() throws EmailException { - if (StringUtils.isBlank(this.fromAddress)) { - throw new EmailException("fromAddress is empty"); - } - if (CollectionUtils.isEmpty(this.toAddresses)) { - throw new EmailException("toAddresses is empty"); - } - if (StringUtils.isBlank(this.subject)) { - throw new EmailException("subject is empty"); - } - } - - public Email() { - } - - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public List getToAddresses() { - return toAddresses; - } - - public void setToAddresses(List toAddresses) { - this.toAddresses = toAddresses; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - public String getSmtpServer() { - return smtpServer; - } - - public void setSmtpServer(String smtpServer) { - this.smtpServer = smtpServer; - } - - public String getEmail_admin() { - return email_admin; - } - - public void setEmail_admin(String email_admin) { - this.email_admin = email_admin; - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java deleted file mode 100644 index c3872c33bb..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.coderising.ood.srp.bean; - -import com.coderising.ood.srp.utils.StringUtils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class Product { - private String productID; - private String productDesc; - - public static List getProductByFile(String f) throws IOException { - List list = new ArrayList(); - File file = new File(f); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String s = ""; - while (!StringUtils.isBlank((s=br.readLine()))) { - String[] data = s.split(" "); - Product p = new Product(data[0], data[1]); - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - list.add(p); - } - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - if (br != null) { - br.close(); - } - } - return list; - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public Product() { - - } - - public Product(String productID, String productDesc) { - - this.productID = productID; - this.productDesc = productDesc; - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dao/EmailDAO.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dao/EmailDAO.java deleted file mode 100644 index 39975b9276..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dao/EmailDAO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp.dao; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class EmailDAO { - public List> listSubscriptionsByProdoctId(String productId) { - String sql = "Select name from subscriptions " - + "where product_id= '" + productId + "' " - + "and send_mail=1 "; - List> userList = new ArrayList>(); - for (int i = 1; i <= 3; i++) { - Map userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/CollectionUtils.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/CollectionUtils.java deleted file mode 100644 index ff60683472..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/CollectionUtils.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.util.List; - -public class CollectionUtils { - public static boolean isEmpty(List list) { - return list == null || list.size() == 0; - } -} diff --git a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/StringUtils.java b/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/StringUtils.java deleted file mode 100644 index 4d86f4ba08..0000000000 --- a/students/1377699408/ood/ood-assignment/src/main/java/com/coderising/ood/srp/utils/StringUtils.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.ood.srp.utils; - -public class StringUtils { - public static boolean isBlank(String s) { - return s == null || "".equals(s.trim()); - } -} diff --git a/students/1395844061/.gitignore b/students/1395844061/.gitignore deleted file mode 100644 index d41523dfd3..0000000000 --- a/students/1395844061/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### Java template -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -1395844061.iml diff --git a/students/1395844061/README.md b/students/1395844061/README.md deleted file mode 100644 index 32243de0c9..0000000000 --- a/students/1395844061/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### 1395844061 ood -1. ood代码优化 diff --git a/students/1395844061/build.gradle b/students/1395844061/build.gradle deleted file mode 100644 index db1cbf8def..0000000000 --- a/students/1395844061/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -group 'peng-test' -version '1.0-SNAPSHOT' - -apply plugin: 'java' - -sourceCompatibility = 1.5 - -repositories { - maven{ - url "http://maven.oschina.net/content/groups/public/" - } -} - -dependencies { - - compile 'org.htmlparser:htmlparser:2.1' - testCompile group: 'junit', name: 'junit', version: '4.11' -} diff --git a/students/1395844061/course-pro-1/build.gradle b/students/1395844061/course-pro-1/build.gradle deleted file mode 100644 index 939cf6ccbe..0000000000 --- a/students/1395844061/course-pro-1/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -group 'peng-test' -version '1.0-SNAPSHOT' - -apply plugin: 'java' - -sourceCompatibility = 1.8 - -repositories { - mavenCentral() -} - -dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/ProductInfo.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/ProductInfo.java deleted file mode 100644 index 1ba8cf2db7..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/ProductInfo.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - -/** - * ProductInfo - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/14/22:41 - */ -public class ProductInfo { - - private String productID = null; - private String productDesc = null; - - public ProductInfo(){} - - public ProductInfo(String productID, String productDesc){ - this.productID = productID; - this.productDesc = productDesc; - } - - public String getProductDesc() { - return productDesc; - } - - public String getProductID() { - return productID; - } - -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 0be9b165c9..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.utils.DBUtil; -import com.coderising.ood.srp.utils.MailUtil; -import com.coderising.ood.srp.utils.ArgsUtil; - -import java.io.IOException; -import java.util.*; - -/** - * PromotionMail - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/12/23:33 - */ -public class PromotionMail { - - private ProductInfo productInfo; - private List mailInfoList = new ArrayList<>(); - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public PromotionMail(){} - - public PromotionMail(ProductInfo productInfo) throws Exception { - this.productInfo = productInfo; - initMailInfoList(loadMailingList()); - } - - /** - * 获取每个型号的手机关注的人员信息列表 - * @return - * @throws Exception - */ - private List> loadMailingList() throws Exception { - String sql = "select name from subscriptions " - + "where product_id= '" + productInfo.getProductID() +"' " - + "and send_mail=1 "; - return DBUtil.query(sql); - } - - /** - * 组装促销邮件的内容信息 - * @param mailingList - */ - private void initMailInfoList(List> mailingList) { - if (ArgsUtil.isNotEmpty(mailingList)){ - for (Map map : mailingList){ - // 初始化 mailInfoList - mailInfoList.add(buildMailInfo(map)); - } - } - } - - /** - * 组装邮件内容信息 - * @param userInfo - * @return - */ - private MailInfo buildMailInfo(Map userInfo){ - String name = userInfo.get(NAME_KEY); - String subject = "您关注的产品降价了"; - String message = "尊敬的 "+name+", 您关注的产品 " + productInfo.getProductDesc() + " 降价了,欢迎购买!" ; - String toAddress = userInfo.get(EMAIL_KEY); - return new MailInfo(toAddress, subject, message); - } - - /** - * 发送促销邮件 - * @param debug - * @throws IOException - */ - public void sendEMails(boolean debug) throws IOException { - System.out.println("开始发送邮件... ..."); - if (ArgsUtil.isNotEmpty(mailInfoList)) { - for (MailInfo mailInfo : mailInfoList){ - MailUtil.sendEmail(mailInfo.toAddress, mailInfo.subject, mailInfo.message, debug); - } - }else { - System.out.println("没有邮件发送... ..."); - } - } - - class MailInfo{ - - private String toAddress = null; - private String subject = null; - private String message = null; - - MailInfo(String toAddress, String subject, String message){ - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - } - } - -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/Configuration.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/Configuration.java deleted file mode 100644 index 931e93ab3b..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/Configuration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp.config; - -import java.util.HashMap; -import java.util.Map; - -/** - * Configuration - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/12/23:30 - */ -public class Configuration { - - static Map configurations = new HashMap<>(); - - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER , "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN , "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java deleted file mode 100644 index 702c8cce32..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp.config; - -/** - * ConfigurationKeys - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/12/23:31 - */ -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/ArgsUtil.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/ArgsUtil.java deleted file mode 100644 index b329a9ade4..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/ArgsUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.util.List; - -/** - * ArgsUtil - * - * @author Chenpz - * @package com.coderising.ood.srp.utils - * @date 2017/6/17/11:56 - */ -public final class ArgsUtil { - - private ArgsUtil(){ - throw new RuntimeException("illegal called!"); - } - - public static boolean isNotNull(Object object){ - - return object != null; - } - - public static boolean isNotEmpty(List list){ - - return isNotNull(list) && !list.isEmpty(); - } - -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/DBUtil.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/DBUtil.java deleted file mode 100644 index 2b4e0410ac..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/DBUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * DBUtil - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/12/23:32 - */ -public final class DBUtil { - - private DBUtil(){ - throw new RuntimeException("illegal called!"); - } - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List> query(String sql){ - System.out.println("sql: "+sql); - List> userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - Map userInfo = new HashMap<>(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/FileUtil.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/FileUtil.java deleted file mode 100644 index 43af9df5e4..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/FileUtil.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp.utils; - -import com.coderising.ood.srp.ProductInfo; - -import java.io.*; -import java.util.ArrayList; -import java.util.List; - -/** - * FileUtils - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/14/22:43 - */ -public final class FileUtil { - - private FileUtil(){ - throw new RuntimeException("illegal called!"); - } - - public static List readProductInfoFromFile(String filePath) throws IOException{ - - if (!ArgsUtil.isNotNull(filePath)) - throw new IllegalArgumentException("illegal arguments"); - - File file = new File(filePath); - BufferedReader br = null; - List productInfoList = new ArrayList<>(); - try { - br = new BufferedReader(new FileReader(file)); - String temp; - while((temp = br.readLine()) != null){ - String[] data = temp.split(" "); - productInfoList.add(new ProductInfo(data[0], data[1])); - } - return productInfoList; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - if (br != null) - br.close(); - } - } - -} diff --git a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/MailUtil.java b/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/MailUtil.java deleted file mode 100644 index cff76d7bf0..0000000000 --- a/students/1395844061/course-pro-1/src/main/java/com/coderising/ood/srp/utils/MailUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.coderising.ood.srp.utils; - -import com.coderising.ood.srp.config.Configuration; -import com.coderising.ood.srp.config.ConfigurationKeys; - -/** - * MailUtil - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/12/23:28 - */ -public final class MailUtil { - - private static String smtpHost = null; - private static String altSmtpHost = null; - private static String fromAddress = null; - - static{ - Configuration config = new Configuration(); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - private MailUtil(){ - throw new RuntimeException("illegal called!"); - } - - public static void sendEmail(String toAddress, String subject, String message, boolean debug) { - - //假装发了一封邮件 - System.out.println("debug: " + debug); - try { - System.out.println("使用默认host发送邮件"); - sendDefaultMail(toAddress, subject, message); - }catch (Exception e){ - System.out.println("使用备用host发送邮件"); - sendAltMail(toAddress,subject, message); - } - } - - private static void sendDefaultMail(String toAddress, String subject, String message){ - System.out.println("smtpHost: " + smtpHost); - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - - private static void sendAltMail(String toAddress, String subject, String message){ - System.out.println("altSmtpHost: " + altSmtpHost); - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - - - - - -} diff --git a/students/1395844061/course-pro-1/src/test/java/com/coderising/ood/srp/MainTest.java b/students/1395844061/course-pro-1/src/test/java/com/coderising/ood/srp/MainTest.java deleted file mode 100644 index 2bf0df1070..0000000000 --- a/students/1395844061/course-pro-1/src/test/java/com/coderising/ood/srp/MainTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.utils.ArgsUtil; -import com.coderising.ood.srp.utils.FileUtil; - -import java.util.List; - -/** - * MainTest - * - * @author Chenpz - * @package com.coderising.ood.srp - * @date 2017/6/14/22:45 - */ -public class MainTest { - - public static void main(String[] args) throws Exception{ - String filePath = MainTest.class.getClassLoader().getResource("product_promotion.txt").getFile(); - List productInfoList = FileUtil.readProductInfoFromFile(filePath); - if (ArgsUtil.isNotEmpty(productInfoList)){ - for (ProductInfo productInfo: productInfoList){ - new PromotionMail(productInfo) - .sendEMails(false); - } - } - } -} diff --git a/students/1395844061/course-pro-1/src/test/resources/product_promotion.txt b/students/1395844061/course-pro-1/src/test/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1395844061/course-pro-1/src/test/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1395844061/settings.gradle b/students/1395844061/settings.gradle deleted file mode 100644 index f66e41c2f9..0000000000 --- a/students/1395844061/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -include 'course-pro-1' - diff --git a/students/1398524980/README.md b/students/1398524980/README.md deleted file mode 100644 index a652ad5ecf..0000000000 --- a/students/1398524980/README.md +++ /dev/null @@ -1 +0,0 @@ -作业 \ No newline at end of file diff --git a/students/1398524980/second phase/once/README.md b/students/1398524980/second phase/once/README.md deleted file mode 100644 index 4a2bb84fe9..0000000000 --- a/students/1398524980/second phase/once/README.md +++ /dev/null @@ -1 +0,0 @@ -面向对象设计 \ No newline at end of file diff --git a/students/1398524980/second phase/once/ood_assignment/pom.xml b/students/1398524980/second phase/once/ood_assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 0fb3dcfa77..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,34 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - private static Configuration config; - - static Map configurations = new HashMap<>(); - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - private Configuration() { - } - - protected static Configuration getConfig() { - return config; - } - - /** - * - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index e63eb922a4..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 1a88f401f1..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package main.java.com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * @param sql - * @return - */ - public static List> query(String sql){ - - List> userList = new ArrayList>(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/FromAddress.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/FromAddress.java deleted file mode 100644 index 1a71da260d..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/FromAddress.java +++ /dev/null @@ -1,15 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class FromAddress { - - private String fromAddress = null; - - protected void setFromAddress() { - fromAddress = Configuration.getConfig().getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public String getFromAddress() { - return fromAddress; - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/LoadInformation.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/LoadInformation.java deleted file mode 100644 index 1eac48983f..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/LoadInformation.java +++ /dev/null @@ -1,22 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.util.List; - -public class LoadInformation { - - private String productID = new ProductInfo().getproductID(); - - private String sendMailQuery = null; - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + productID + "' " + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 84dbffa75d..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java deleted file mode 100644 index a678d2987e..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java +++ /dev/null @@ -1,52 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class ProductInfo { - - private String productID = null; - private String productDesc = null; - - /** - * - * @throws IOException - */ - public void readProductInfo(String pomotionInfoAddress) throws IOException { - - File f = new File(pomotionInfoAddress); - - readFile(f); - } - - private void readFile(File file) throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - productID = data[0]; - productDesc = data[1]; - - System.out.println("ƷID = " + productID + "\n"); - System.out.println("Ʒ = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - protected String getproductID() { - return productID; - } - - protected String getProductDesc() { - return productDesc; - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index c94ac5a088..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,36 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class PromotionMail { - - private static ProductInfo productInfo = new ProductInfo(); - private static SetProtocol setprotocol = new SetProtocol(); - private static LoadInformation loadInformation = new LoadInformation(); - private static FromAddress fromAddress = new FromAddress(); - private static SendEMails sendEmails = new SendEMails(); - - public static void main(String[] args) throws Exception { - - boolean emailDebug = false; - new PromotionMail(emailDebug, - "C:\\Users\\123\\Documents\\workspace\\ood_assignment\\src\\com\\coderising\\ood\\srp\\product_promotion.txt"); - } - - PromotionMail(boolean emailDebug, String pomotionInfoAddress) throws Exception { - - // ȡƷϢ - productInfo.readProductInfo(pomotionInfoAddress); - - // ÷ͷЭ - setprotocol.setProtocol(); - - // öȡϢ - loadInformation.setLoadQuery(); - - // ÷͵ַ - fromAddress.setFromAddress(); - - // ʼ ʼ - sendEmails.sendEMails(emailDebug); - } - -} \ No newline at end of file diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SendEMails.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SendEMails.java deleted file mode 100644 index 29bb0f1363..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SendEMails.java +++ /dev/null @@ -1,51 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Iterator; - -public class SendEMails { - - private ToAddressAndMessage message = new ToAddressAndMessage(); - - private String smtpHost = new SetProtocol().getSMTPHost(); - private String altSmtpHost = new SetProtocol().getAltSMTPHost(); - - private LoadInformation load = new LoadInformation(); - - /** - * - * @param debug - * @param mailingList - * @throws Exception - */ - protected void sendEMails(boolean debug) throws Exception { - - System.out.println("开始发送邮件"); - - if (load.loadMailingList() != null) { - Iterator iter = load.loadMailingList().iterator(); - while (iter.hasNext()) { - message.configureEMail((HashMap) iter.next()); - try { - if (message.toAddress.length() > 0) { - message.sendSMTPHostWay(smtpHost, debug); - } - } catch (Exception e) { - try { - message.sendAltSMTPHostWay(altSmtpHost, debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - else { - System.out.println("没有邮件发送"); - - } - - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SetProtocol.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SetProtocol.java deleted file mode 100644 index 98e0151fb6..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/SetProtocol.java +++ /dev/null @@ -1,32 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class SetProtocol { - - private String smtpHost = null; - private String altSmtpHost = null; - - private Configuration config; - - protected void setProtocol() { - config = Configuration.getConfig(); - setSMTPHost(); - setAltSMTPHost(); - } - - private void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - private void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - - protected String getSMTPHost() { - return smtpHost; - } - - protected String getAltSMTPHost() { - return altSmtpHost; - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ToAddressAndMessage.java b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ToAddressAndMessage.java deleted file mode 100644 index c99bbc683b..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/ToAddressAndMessage.java +++ /dev/null @@ -1,52 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; - -public class ToAddressAndMessage { - - private String productDesc = new ProductInfo().getProductDesc(); - - protected String toAddress = null; - private String fromAddress = new FromAddress().getFromAddress(); - - private String subject = null; - private String message = null; - - private static final String EMAIL_KEY = "EMAIL"; - private static final String NAME_KEY = "NAME"; - - /** - * - * @param userInfo - * @throws IOException - */ - protected void addressAndMessage(HashMap userInfo) throws IOException { - configureEMail(userInfo); - setMessage(userInfo); - } - - protected void configureEMail(HashMap userInfo) throws IOException { - - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - } - - protected void sendSMTPHostWay(String smtpHost, boolean debug) { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - - protected void sendAltSMTPHostWay(String altSmtpHost, boolean debug) { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - } - -} diff --git a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/1398524980/second phase/once/ood_assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1417442485/out/production/1417442485/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1417442485/out/production/1417442485/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1417442485/out/production/1417442485/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1417442485/pom.xml b/students/1417442485/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/1417442485/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1417442485/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 70b861717d..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package main.java.com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - private static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1417442485/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index e63eb922a4..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1417442485/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index c34751d344..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,20 +0,0 @@ -package main.java.com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(final String sql){ - final List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - userList.add(new UserInfo("User" + i, "aa@bb.com")); - } - return userList; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/1417442485/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index aa288e2795..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - - public static String[] readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - String[] data; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - data = temp.split(" "); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return data; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/MailMessage.java b/students/1417442485/src/main/java/com/coderising/ood/srp/MailMessage.java deleted file mode 100644 index 7e499b7d64..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/MailMessage.java +++ /dev/null @@ -1,9 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public interface MailMessage { - - String getFromAddress(); - String getToAddress(); - String getSubject(); - String getMessageBody(); -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/MailService.java b/students/1417442485/src/main/java/com/coderising/ood/srp/MailService.java deleted file mode 100644 index 2b8bdf73ef..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/MailService.java +++ /dev/null @@ -1,19 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class MailService { - - public static void send(final MailMessage message, final MailSetting mailSetting) { - if(message.getToAddress().length() == 0) return; - try { - MailUtil.sendEmail(message.getToAddress(), message.getFromAddress(), message.getSubject(), - message.getMessageBody(), MailSetting.smtpHost, mailSetting.emailDebug); - } catch (Exception e) { - try { - MailUtil.sendEmail(message.getToAddress(), message.getFromAddress(), message.getSubject(), - message.getMessageBody(), MailSetting.altSmtpHost, mailSetting.emailDebug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/MailSetting.java b/students/1417442485/src/main/java/com/coderising/ood/srp/MailSetting.java deleted file mode 100644 index 0991bbae02..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/MailSetting.java +++ /dev/null @@ -1,11 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class MailSetting { - static String smtpHost = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - static String altSmtpHost = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - final boolean emailDebug; - - public MailSetting(boolean emailDebug) { - this.emailDebug = emailDebug; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1417442485/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 59cc73476e..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/Product.java b/students/1417442485/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 2e807c9d50..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,11 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class Product { - final String productId; - final String productDesc; - - public Product(String productId, String productDesc) { - this.productId = productId; - this.productDesc = productDesc; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/ProductDataStore.java b/students/1417442485/src/main/java/com/coderising/ood/srp/ProductDataStore.java deleted file mode 100644 index 770baa7aff..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/ProductDataStore.java +++ /dev/null @@ -1,30 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; - -public class ProductDataStore { - - private final File mFileDataSource; - - public ProductDataStore(final File file) { - mFileDataSource = file; - } - - public Product getProduct() { - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - String[] data = null; - try { - data = FileUtil.readFile(mFileDataSource); - } catch (IOException e) { - e.printStackTrace(); - } - Product product = null; - if(data != null && data.length >= 2) { - product = new Product(data[0], data[1]); - System.out.println("产品ID = " + product.productId + "\n"); - System.out.println("产品描述 = " + product.productDesc + "\n"); - } - return product; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 881bdb0f7c..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,32 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -public class PromotionMail { - - private static final String PRODUCT_FILE = "src/main/java/com/coderising/ood/srp/product_promotion.txt"; - - public static void main(String[] args) throws Exception { - - final Product product = new ProductDataStore(new File(PRODUCT_FILE)).getProduct(); - final List userList = UserDataStore.getMailingList(product.productId); - final MailSetting mailSetting = new MailSetting(false); - - PromotionMail.sendEmails(product, userList, mailSetting); - } - - protected static void sendEmails(final Product product, final List userList, final MailSetting mailSetting) throws IOException - { - if(userList == null || userList.isEmpty()) { - System.out.println("没有邮件发送"); - return; - } - System.out.println("开始发送邮件"); - for (UserInfo userInfo : userList) { - final PromotionMailMessage message = new PromotionMailMessage(userInfo.email, userInfo.name, product.productDesc); - MailService.send(message, mailSetting); - } - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMailMessage.java b/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMailMessage.java deleted file mode 100644 index e6f1548559..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/PromotionMailMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class PromotionMailMessage implements MailMessage { - private final static String FROM_ADDRESS = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - private final static String SUBJECT = "您关注的产品降价了"; - private final String toAddress; - private final String message; - - public PromotionMailMessage(final String toAddress, final String userName, final String productDesc){ - this.toAddress = toAddress; - if (toAddress.length() > 0) { - message = "尊敬的 "+userName+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - } else { - message = null; - } - } - - @Override - public String getFromAddress() { - return FROM_ADDRESS; - } - - @Override - public String getToAddress() { - return toAddress; - } - - @Override - public String getSubject() { - return SUBJECT; - } - - @Override - public String getMessageBody() { - return message; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/UserDataStore.java b/students/1417442485/src/main/java/com/coderising/ood/srp/UserDataStore.java deleted file mode 100644 index b62d9b0072..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/UserDataStore.java +++ /dev/null @@ -1,15 +0,0 @@ -package main.java.com.coderising.ood.srp; - -import java.util.List; - -public class UserDataStore { - - public static List getMailingList(String productId) throws Exception { - final String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productId +"' " - + "and send_mail=1 "; - - return DBUtil.query(sendMailQuery); - } - -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/UserInfo.java b/students/1417442485/src/main/java/com/coderising/ood/srp/UserInfo.java deleted file mode 100644 index 26272ef017..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/UserInfo.java +++ /dev/null @@ -1,11 +0,0 @@ -package main.java.com.coderising.ood.srp; - -public class UserInfo { - final String name; - final String email; - - public UserInfo(final String name, final String email) { - this.name = name; - this.email = email; - } -} diff --git a/students/1417442485/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1417442485/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1417442485/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/1418243288/readme.md b/students/1418243288/readme.md deleted file mode 100644 index fcb796bdef..0000000000 --- a/students/1418243288/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -测试下新上传的值 -#test - -#试试对不对# -public void main diff --git a/students/1452302762/ood/ood-assignment/pom.xml b/students/1452302762/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/1452302762/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 20657ee745..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Constant.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Constant.java deleted file mode 100644 index 02807c7a3d..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Constant.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coderising.ood.srp; - -public class Constant { - - public static final String NAME_KEY = "NAME"; - public static final String EMAIL_KEY = "EMAIL"; -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index 3d386ee7f4..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - public static String[] readFile(File file) throws IOException - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - return data; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 22389dcb59..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - private static String smtpHost = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER);; - private static String altSmtpHost = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); ; - private static String fromAddress = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); ; - private static String toAddress = null; - private static String subject = null; - private static String message = null; - protected void setMessage(String name,String productDesc) throws IOException{ - if(toAddress.length()>0){ - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - } - } - private static List loadMailingList(String productID) throws Exception { - String sendMailQuery = "Select name from subscriptions where product_id= '" + productID +"and send_mail=1 "; - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } - protected static void configureEMail(HashMap userInfo) throws IOException{ - toAddress =userInfo.get(Constant.EMAIL_KEY); - } - public static void sendEMails(boolean debug,String productID) throws Exception{ - System.out.println("开始发送邮件"); - List mailingList=loadMailingList(productID); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try{ - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - else { - System.out.println("没有邮件发送"); - - } - } - private static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 2ba503eae4..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - - -public class Product { - private String productID ; - private String productDesc; - - public Product(String productID, String productDesc) { - this.productID = productID; - this.productDesc = productDesc; - } - public Product(String[] data) { - this.productID =data[0]; - this.productDesc = data[1]; - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - } - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index f70095e45c..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - Product product=new Product(FileUtil.readFile(f)); - MailUtil.sendEMails(emailDebug,product.getProductID()); - } -} diff --git a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/1452302762/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/14703250/readme.md b/students/14703250/readme.md deleted file mode 100644 index 19422f702b..0000000000 --- a/students/14703250/readme.md +++ /dev/null @@ -1 +0,0 @@ -愿意自荐代码的,可以每个人一个目录 以自己的QQ号命名 ,把自荐的代码放到里边去 diff --git a/students/1753179526/readme.md b/students/1753179526/readme.md deleted file mode 100644 index 0eb59149a8..0000000000 --- a/students/1753179526/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -Test git commit. push-wary - -第二次提交内容,更改编码问题。 - -增加new line 测试命令行 \ No newline at end of file diff --git a/students/183549495 b/students/183549495 deleted file mode 100644 index f29dee6099..0000000000 --- a/students/183549495 +++ /dev/null @@ -1 +0,0 @@ -测试 diff --git a/students/252705978/ood/srp/pom.xml b/students/252705978/ood/srp/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/252705978/ood/srp/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Configuration.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationUtil.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationUtil.java deleted file mode 100644 index 3f5d95cc50..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/ConfigurationUtil.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; - -/** - * 邮件配置工具类 - * - * @author lin - * @since - */ -public class ConfigurationUtil { - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void configure(PromotionMail mail, Configuration config) { - mail.smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - mail.altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - mail.fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - - } - - public static void configure2(PromotionMail mail, HashMap userInfo, Product product) { - mail.toAddress = (String) userInfo.get(EMAIL_KEY); - if (mail.toAddress.length() > 0) { - String name = (String) userInfo.get(NAME_KEY); - - mail.subject = "您关注的产品降价了"; - mail.message = "尊敬的 " + name + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - } - } -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index f9c67fea16..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * 文件工具类 - * - * @author lin - * @since - */ -public class FileUtil { - public static String[] readFile(File file) throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - return data; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 04bab2b8a9..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - @SuppressWarnings("rawtypes") - public static void sendEMails(PromotionMail mail, Configuration config, boolean debug, Product product, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - ConfigurationUtil.configure2(mail, (HashMap) iter.next(), product); - try { - if (mail.toAddress.length() > 0) - MailUtil.sendEmail(mail.toAddress, mail.fromAddress, mail.subject, mail.message, mail.smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(mail.toAddress, mail.fromAddress, mail.subject, mail.message, mail.altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Product.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 833b2a98f5..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coderising.ood.srp; - -/** - * 产品实体类 - * - * @author lin - * @since - */ -public class Product { - private String productID; - private String productDesc; - - public Product() { - } - - public Product(String productID, String productDesc) { - this.productID = productID; - this.productDesc = productDesc; - } - - public Product(String[] strs) { - setProductID(strs[0]); - setProductDesc(strs[1]); - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 83af138d3b..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -public class PromotionMail { - - protected String sendMailQuery = null; - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - public PromotionMail() { - }; - - public static void main(String[] args) throws Exception { - PromotionMail mail = new PromotionMail(); - Product product = new Product(FileUtil.readFile(new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"))); - Configuration config = new Configuration(); - ConfigurationUtil.configure(mail, config); - MailUtil.sendEMails(mail, config, false, product, DBUtil.query(mail.sendMailQuery)); - } - -} diff --git a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/252705978/ood/srp/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/254647832/src/com/coderising/ood/bean/MailBean.java b/students/254647832/src/com/coderising/ood/bean/MailBean.java deleted file mode 100644 index 2befb197fe..0000000000 --- a/students/254647832/src/com/coderising/ood/bean/MailBean.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coderising.ood.bean; - -/** - *

Title: MailBean

- *

Description: 邮件信息

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class MailBean { - - /** - * 收件箱地址 - */ - private String toAddress; - - /** - * 邮件主题 - */ - private String subject; - - /** - * 邮件内容 - */ - private String message; - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public String toString() { - return "MailBean [toAddress=" + toAddress + ", subject=" + subject - + ", message=" + message + "]"; - } - -} diff --git a/students/254647832/src/com/coderising/ood/bean/ProductBean.java b/students/254647832/src/com/coderising/ood/bean/ProductBean.java deleted file mode 100644 index f8ae0bfb00..0000000000 --- a/students/254647832/src/com/coderising/ood/bean/ProductBean.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.coderising.ood.bean; - -import java.util.List; - -/** - *

Title: ProductBean

- *

Description: 产品信息

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class ProductBean { - - /** - * 产品编号 - */ - private String productID; - - /** - * 产品描述 - */ - private String productDesc; - - private List users; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public List getUsers() { - return users; - } - - public void setUsers(List users) { - this.users = users; - } - - @Override - public String toString() { - return "ProductBean [productID=" + productID + ", productDesc=" - + productDesc + ", users=" + users + "]"; - } - -} diff --git a/students/254647832/src/com/coderising/ood/bean/UserBean.java b/students/254647832/src/com/coderising/ood/bean/UserBean.java deleted file mode 100644 index c1f36a3ef7..0000000000 --- a/students/254647832/src/com/coderising/ood/bean/UserBean.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.coderising.ood.bean; - -import java.util.List; - -/** - *

Title: UserBean

- *

Description: 用户信息

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class UserBean { - - /** - * 用户ID - */ - private String userid; - - /** - * 用户姓名 - */ - private String name; - - /** - * 邮箱 - */ - private String email; - - /** - * 邮件推送标识 0-不推送;1-推送 - */ - private String sendFlag; - - /** - * 关注的产品 - */ - private List pros; - - public String getUserid() { - return userid; - } - - public void setUserid(String userid) { - this.userid = userid; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getSendFlag() { - return sendFlag; - } - - public void setSendFlag(String sendFlag) { - this.sendFlag = sendFlag; - } - - public List getPros() { - return pros; - } - - public void setPros(List pros) { - this.pros = pros; - } - - @Override - public String toString() { - return "UserBean [userid=" + userid + ", name=" + name + ", email=" - + email + ", sendFlag=" + sendFlag + ", pros=" + pros + "]"; - } - -} diff --git a/students/254647832/src/com/coderising/ood/srp/Configuration.java b/students/254647832/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 5e384821d0..0000000000 --- a/students/254647832/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -/** - *

Title: Configuration

- *

Description: 获取配置信息

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class Configuration { - //封装成私有变量 - private static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/254647832/src/com/coderising/ood/srp/ConfigurationKeys.java b/students/254647832/src/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 70606dda99..0000000000 --- a/students/254647832/src/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp; - -/** - *

Title: ConfigurationKeys

- *

Description: 邮件服务器配置参数

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/254647832/src/com/coderising/ood/srp/DBUtil.java b/students/254647832/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 4cb4d8ac30..0000000000 --- a/students/254647832/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import com.coderising.ood.bean.ProductBean; -import com.coderising.ood.bean.UserBean; - -/** - *

Title: DBUtil

- *

Description: 数据库操作

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * 用户和关注的产品,应该是多对多的关系,应该有张多对多的表[用户id + 产品id] - * 先根据产品id查询出用户id,再根据用户id查询出用户信息。此处省略这部分的处理 - * @param sql - * @return - */ - public static List query(Set proIds){ - - /** - * SELECT name, email FROM user WHERE userid IN( - * SELECT userid FROM user_pro WHERE proId in(proIds)) - */ - StringBuilder sendMailQuery = new StringBuilder(); - sendMailQuery.append("Select name from subscriptions where send_mail=1 and product_id in("); - - Iterator iter = proIds.iterator(); - while(iter.hasNext()){ - sendMailQuery.append("'" + iter.next() + "',"); - } - sendMailQuery.delete(sendMailQuery.length()-1, sendMailQuery.length()).append(")"); - - List proList = new ArrayList(); - ProductBean proBean = null; - List userList = new ArrayList(); - UserBean userInfo = null; - for (int i = 1; i <= 3; i++) { - userInfo = new UserBean(); - userInfo.setName("User_" + i); - userInfo.setEmail("aa@bb.com_" + i); - proBean = new ProductBean(); - proBean.setProductID("pro_" + i); - proBean.setProductDesc("proDesc_" + i); - proList.add(proBean); - userInfo.setPros(proList); - userList.add(userInfo); - } - - return userList; - } - -} diff --git a/students/254647832/src/com/coderising/ood/srp/MailUtil.java b/students/254647832/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9763abc625..0000000000 --- a/students/254647832/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -import com.coderising.ood.bean.MailBean; -import com.coderising.ood.bean.ProductBean; -import com.coderising.ood.bean.UserBean; - -/** - *

Title: MailUtil

- *

Description: 邮件工具类

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class MailUtil { - - /** - * 获取邮件正文信息 - * @param user 用户信息 - * @return 邮件正文 - */ - private static String getMassege(UserBean user){ - List list = user.getPros(); - StringBuilder s = new StringBuilder(); - s.append("尊敬的 "); - s.append(user.getName()); - s.append(", 您关注的产品 "); - for(ProductBean pro : list){ - s.append(pro.getProductDesc()).append("、"); - } - s.delete(s.length()-1, s.length()); - s.append(" 降价了,欢迎购买!"); - return s.toString(); - } - - /** - * 获取待发送的邮件信息列表 - * @param users 用户信息 - * @return 待发送邮件列表 - */ - private static List getMailInf(List users){ - List retList = new ArrayList(); - MailBean mailInf; - //获取邮件服务器配置信息 - if (!users.isEmpty()) { - for(UserBean bean : users){ - mailInf = new MailBean(); - mailInf.setToAddress(bean.getEmail()); - mailInf.setSubject("您关注的产品降价了"); - mailInf.setMessage(getMassege(bean)); - retList.add(mailInf); - } - } - return retList; - } - - /** - * 发送邮件 - * @param users 待发送的用户 - */ - public static void sendEmail(List users) { - List mailList = getMailInf(users); - if(!mailList.isEmpty()){ - //获取邮件服务器信息 - Configuration config = new Configuration(); - String server = config.getProperty(ConfigurationKeys.SMTP_SERVER); - String altServer = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - System.out.println("开始发送邮件..."); - System.out.println("发件箱:" + config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - - for(MailBean mailInf : mailList){ - try{ - send(server, mailInf); - }catch (Exception e){ - try { - send(altServer, mailInf); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - System.out.println("邮件发送结束..."); - }else{ - System.out.println("没有邮件发送"); - } - - } - - /** - * 邮件发送主方法 - * @param server 发送服务器 - */ - public static void send(String server, MailBean mailInf){ - - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - - buffer.append("To:").append(mailInf.getToAddress()).append("\n"); - buffer.append("Subject:").append(mailInf.getSubject()).append("\n"); - buffer.append("Content:").append(mailInf.getMessage()).append("\n"); - - System.out.println(buffer.toString()); - } - -} diff --git a/students/254647832/src/com/coderising/ood/srp/PromotionMail.java b/students/254647832/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 9af969c773..0000000000 --- a/students/254647832/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import com.coderising.ood.bean.UserBean; - -/** - *

Title: PromotionMail

- *

Description: 邮件发送处理

- *

Company: smartisan

- * @author Administrator - * @date 2017年6月18日 - */ -public class PromotionMail { - - public static void main(String[] args) throws Exception { - - //1、获取降价产品信息 - File f = new File("E:\\gitpro\\liuxin\\coding2017\\liuxin\\ood\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - Set proIds = readFile(f); - - //2、根据降价产品的ID获取关注该产品的用户信息 - List users = DBUtil.query(proIds); - - //3、向这些用户发送邮件 - MailUtil.sendEmail(users); - } - - /** - * 读取文件,获取降价产品信息 - * @param file - * @return 产品信息的ID - * @throws IOException - */ - private static Set readFile(File file) throws IOException{ - Set proIds = new HashSet(); - BufferedReader br = null; - boolean flag = true; - try { - br = new BufferedReader(new FileReader(file)); - while(flag){ - String temp = br.readLine(); - if(temp != null && !"".equals(temp)){ - String[] data = temp.split(" "); - proIds.add(data[0]); - System.out.println("产品ID = " + data[0]); - System.out.println("产品描述 = " + data[1] + "\n"); - }else{ - flag = false; - } - } - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return proIds; - } -} diff --git a/students/254647832/src/pom.xml b/students/254647832/src/pom.xml deleted file mode 100644 index 1be81576cc..0000000000 --- a/students/254647832/src/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/275677638/1.txt b/students/275677638/1.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/students/275677638/README.md b/students/275677638/README.md deleted file mode 100644 index aa7a31b814..0000000000 --- a/students/275677638/README.md +++ /dev/null @@ -1,3 +0,0 @@ -愿意自荐代码的,可以每个人一个目录 以自己的QQ号命名 ,把自荐的代码放到里边去 - -diff diff --git a/students/276137509/276137509Learning/readme.md b/students/276137509/276137509Learning/readme.md deleted file mode 100644 index 7c847014a2..0000000000 --- a/students/276137509/276137509Learning/readme.md +++ /dev/null @@ -1 +0,0 @@ -### This is my first project just for testing \ No newline at end of file diff --git a/students/276137509/readme.md b/students/276137509/readme.md deleted file mode 100644 index 065efcdbbe..0000000000 --- a/students/276137509/readme.md +++ /dev/null @@ -1 +0,0 @@ -#### Nightn (杭州-莱顿) 代码仓库 \ No newline at end of file diff --git a/students/277093528/ood-assignment/pom.xml b/students/277093528/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/277093528/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 1cd9f713c8..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String MESSAGE_FILE_PATH = "D:\\BaiduYunDownload\\Second_Season\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"; - - public static final String NAME_KEY = "NAME"; - public static final String EMAIL_KEY = "EMAIL"; -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtils.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtils.java deleted file mode 100644 index e206b0aa24..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtils.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtils { - /** - * 解析文件内容 - * @return - * @throws IOException - */ - public static Product readFile() throws IOException { - - BufferedReader br = null; - try { - Product product = new Product(); - File file = new File( ConfigurationKeys.MESSAGE_FILE_PATH ); - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - return product; - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - } - -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 5765cb0070..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - private static String smtpHost = null; - private static String altSmtpHost = null; - private static String fromAddress = null; - private static String toAddress = null; - private static String subject = null; - private static String message = null; - - static { - Configuration config = new Configuration(); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected static void sendEmail(String toAddress, String subject, String message, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - protected static void sendEMails(boolean debug,Product product, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next(),product); - try - { - if ( toAddress.length() > 0 ) - sendEmail(toAddress, subject, message, debug); - } - catch (Exception e) - { - - try { - sendEmail(toAddress, subject, message, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } else { - System.out.println("没有邮件发送"); - - } - - } - - private static void setMessage( HashMap userInfo,Product product) throws IOException { - String name = (String) userInfo.get( ConfigurationKeys.NAME_KEY ); - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - } - - private static void configureEMail(HashMap userInfo,Product product) throws IOException - { - toAddress = (String) userInfo.get( ConfigurationKeys.EMAIL_KEY ); - if (toAddress.length() > 0) - setMessage( userInfo, product ); - } - - -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index ba93dd2f1b..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp; - - -public class Product { - - private String productID = null; - - private String productDesc = null; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 5c10796dbf..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class PromotionMail { - - protected String sendMailQuery = null; - private Product product = null; - - public static void main(String[] args) throws Exception { - - boolean emailDebug = false; - PromotionMail pe = new PromotionMail( emailDebug ); - - } - - public PromotionMail( boolean mailDebug ) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - product = FileUtils.readFile(); - - setLoadQuery(); - - MailUtil.sendEMails(mailDebug, product ,loadMailingList()); - - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() +"' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - -} diff --git a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/277093528/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/279069328/readme.md b/students/279069328/readme.md deleted file mode 100644 index e84336bfe0..0000000000 --- a/students/279069328/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Coding 2017 - -KevinSmile@coderising \ No newline at end of file diff --git a/students/2831099157/ood-assignment/out/production/main/com/coderising/ood/srp/product_promotion.txt b/students/2831099157/ood-assignment/out/production/main/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/2831099157/ood-assignment/out/production/main/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/2831099157/ood-assignment/pom.xml b/students/2831099157/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/2831099157/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 9eb1b21f29..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.service.GoodsArrivalNotice; -import com.coderising.ood.srp.service.Notice; - -/** - * 可以根据不同运营方案,添加GetProductsFunction,SendMailFunction接口实现类及Notice子类,向订阅者发送通告 - */ -public class PromotionMail { - - public static void main(String[] args) throws Exception { - //降价促销 -// Notice notice = new PricePromotion(); - //到货通知 - Notice notice = new GoodsArrivalNotice(); - notice.sendMail(notice.getProducts()); - - } - - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/Configuration.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/Configuration.java deleted file mode 100644 index 5c0697782a..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.configure; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/ConfigurationKeys.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/ConfigurationKeys.java deleted file mode 100644 index c9cfba4974..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/configure/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.configure; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/dao/DBUtil.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/dao/DBUtil.java deleted file mode 100644 index c0e7f6508d..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/dao/DBUtil.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp.dao; -import com.coderising.ood.srp.model.User; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setName("User" + i); - user.seteMail("aa@bb.com"); - userList.add(user); - } - - return userList; - } -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/GetProductsFunction.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/GetProductsFunction.java deleted file mode 100644 index f0894ea3c7..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/GetProductsFunction.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp.interfaces; - -import com.coderising.ood.srp.model.Product; - -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public interface GetProductsFunction { - - List getProducts(); -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/SendMailFunction.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/SendMailFunction.java deleted file mode 100644 index cd27a45767..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/interfaces/SendMailFunction.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp.interfaces; - -import com.coderising.ood.srp.model.Product; - -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public interface SendMailFunction { - - void sendMail(List products); -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Mail.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Mail.java deleted file mode 100644 index b94f27b29d..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Mail.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.coderising.ood.srp.model; - -import com.coderising.ood.srp.configure.Configuration; -import com.coderising.ood.srp.configure.ConfigurationKeys; - -/** - * Created by Iden on 2017/6/14. - */ -public class Mail { - private String fromAddress; - private String toAddress; - private String subject; - private String content; - private String smtpHost = null; - private String altSmtpHost = null; - - public Mail() { - Configuration config = new Configuration(); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - - public void send() { - if(null==toAddress){ - System.out.println("发送地址不能为空"); - return; - } - try { - sendMailBySmtpHost(); - } catch (Exception e) { - try { - sendMailBySmtpHost(); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - - } - } - - private void sendMailBySmtpHost() { - System.out.println("通过SMTP服务器开始发送邮件"); - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(content).append("\n"); - System.out.println(buffer.toString()); - } - - private void sendMailByAlSmtpHost() { - System.out.println("通过备用SMTP服务器开始发送邮件"); - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(content).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Product.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Product.java deleted file mode 100644 index f9f5b5a145..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/Product.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp.model; - -import com.coderising.ood.srp.dao.DBUtil; - -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public class Product { - String id; - String description; - - public Product(String id, String descript) { - this.id = id; - this.description = descript; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public List getSubscribers() { - List userList = null; - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + id + "' " - + "and send_mail=1 "; - userList = DBUtil.query(sendMailQuery); - return userList; - - } - - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/User.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/User.java deleted file mode 100644 index 38bec29f59..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/model/User.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.model; - -/** - * Created by Iden on 2017/6/14. - */ -public class User { - String name; - String eMail; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String geteMail() { - return eMail; - } - - public void seteMail(String eMail) { - this.eMail = eMail; - } -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GetProductsFromFile.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GetProductsFromFile.java deleted file mode 100644 index 92a1090c5e..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GetProductsFromFile.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.interfaces.GetProductsFunction; -import com.coderising.ood.srp.model.Product; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public class GetProductsFromFile implements GetProductsFunction { - public String filePath = "E:\\StudyProjects\\Java\\Workspace\\HomeWork\\coding2017\\liuxin\\ood\\ood-assignment\\" + - "src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"; - - @Override - public List getProducts() { - BufferedReader br = null; - List products = new ArrayList<>(); - try { - File file = new File(filePath); - br = new BufferedReader(new FileReader(file)); - String temp = null; - while ((temp = br.readLine()) != null) { - String[] data = temp.split(" "); - Product product = new Product(data[0], data[1]); - System.out.println("促销产品ID = " + product.getId()); - System.out.println("促销产品描述 = " + product.getDescription()); - products.add(product); - } - - } catch (IOException e) { - System.out.println("读取文件失败"); - } finally { - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return products; - } -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GoodsArrivalNotice.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GoodsArrivalNotice.java deleted file mode 100644 index ee4723ec06..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/GoodsArrivalNotice.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp.service; - -/** - * Created by Iden on 2017/6/14. - * 到货通知 - */ -public class GoodsArrivalNotice extends Notice { - public GoodsArrivalNotice() { - getProductsFunction = new GetProductsFromFile(); - sendMailFunction = new SendGoodsArrivalMail(); - } - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/Notice.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/Notice.java deleted file mode 100644 index 6ac8e62402..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/Notice.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.interfaces.GetProductsFunction; -import com.coderising.ood.srp.interfaces.SendMailFunction; -import com.coderising.ood.srp.model.Product; - -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - * 各类通知(降价促销,抢购活动,到货通知等等) - */ -public abstract class Notice { - GetProductsFunction getProductsFunction; - SendMailFunction sendMailFunction; - - public List getProducts() { - return getProductsFunction.getProducts(); - } - - public void sendMail(List products) { - sendMailFunction.sendMail(products); - } - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/PricePromotion.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/PricePromotion.java deleted file mode 100644 index ebb59571c0..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/PricePromotion.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.srp.service; - -/** - * Created by Iden on 2017/6/14. - */ -public class PricePromotion extends Notice { - public PricePromotion() { - getProductsFunction = new GetProductsFromFile(); - sendMailFunction = new SendPriceMail(); - } - -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendGoodsArrivalMail.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendGoodsArrivalMail.java deleted file mode 100644 index 79f3a6985f..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendGoodsArrivalMail.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.interfaces.SendMailFunction; -import com.coderising.ood.srp.model.Mail; -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.model.User; - -import java.util.Iterator; -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public class SendGoodsArrivalMail implements SendMailFunction { - - - @Override - public void sendMail(List products) { - if (null == products || products.size() == 0) { - System.out.println("没有发现到货的产品"); - return; - } - Iterator iterator = products.iterator(); - while (iterator.hasNext()) { - Product product = iterator.next(); - List userList = product.getSubscribers(); - if (null == userList || userList.size() == 0) { - System.out.println("没有人订阅" + product.getDescription() + " 信息"); - continue; - } - Iterator iter = userList.iterator(); - while (iter.hasNext()) { - User user = (User) iter.next(); - Mail mail = new Mail(); - mail.setSubject("您关注的产品到货了"); - mail.setContent("尊敬的 " + user.getName() + ", 您关注的产品 " + product.getDescription() + " 到货了,欢迎购买"); - mail.setToAddress(user.geteMail()); - mail.send(); - } - } - } -} diff --git a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendPriceMail.java b/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendPriceMail.java deleted file mode 100644 index bae4803e3f..0000000000 --- a/students/2831099157/ood-assignment/src/main/java/com/coderising/ood/srp/service/SendPriceMail.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.interfaces.SendMailFunction; -import com.coderising.ood.srp.model.Mail; -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.model.User; - -import java.util.Iterator; -import java.util.List; - -/** - * Created by Iden on 2017/6/14. - */ -public class SendPriceMail implements SendMailFunction { - - - @Override - public void sendMail(List products) { - if (null == products || products.size() == 0) { - System.out.println("没有发现需要促销的产品"); - return; - } - Iterator iterator = products.iterator(); - while (iterator.hasNext()) { - Product product = iterator.next(); - List userList = product.getSubscribers(); - if (null == userList || userList.size() == 0) { - System.out.println("没有人订阅 " + product.getDescription() + " 信息"); - continue; - } - Iterator iter = userList.iterator(); - while (iter.hasNext()) { - User user = (User) iter.next(); - Mail mail = new Mail(); - mail.setSubject("您关注的产品降价了"); - mail.setContent("尊敬的 " + user.getName() + ", 您关注的产品 " + product.getDescription() + " 降价了,欢迎购买"); - mail.setToAddress(user.geteMail()); - mail.send(); - } - } - } -} diff --git "a/students/2831099157/ood-assignment/\344\277\203\351\224\200Mail\345\217\221\351\200\201\347\273\203\344\271\240\357\274\210\351\207\215\346\236\204\357\274\211.md" "b/students/2831099157/ood-assignment/\344\277\203\351\224\200Mail\345\217\221\351\200\201\347\273\203\344\271\240\357\274\210\351\207\215\346\236\204\357\274\211.md" deleted file mode 100644 index 33634cb9a9..0000000000 --- "a/students/2831099157/ood-assignment/\344\277\203\351\224\200Mail\345\217\221\351\200\201\347\273\203\344\271\240\357\274\210\351\207\215\346\236\204\357\274\211.md" +++ /dev/null @@ -1,23 +0,0 @@ -# 第一次OOD练习 # - -## 需求 ## -### 原项目已经实现根据产品列表文件发送促销Mail,需求一直在变化,比如通过数据库获取促销产品或者促销活动改为到货通知,抢购等;为了应变各种变化,需重构代码。 ### -## 需求分析 ## -需求可变因素:
- -1. 促销产品列表文件可能会变更,或者变更获取方式(如通过数据库获取) -2. 促销活动会根据运营情况变更 -## 重构方案 ## -1. 提取GetProductsFunction,SendMailFunction接口 -2. 添加Notice抽象类,针对接口添加getProducts,sendMai方法 -------各类通知(降价促销,抢购活动,到货通知等等) -3. 添加Mail,Product,User实体类 -4. Mail初始化设置smtpHost,alSmtpHost,fromAddress参数,添加sendMail功能 -5. Product添加getSubscribers功能 -6. 添加GetProductsFunction,SendMailFunction接口实现类 -7. 添加PricePromotion继承Promotion,实现降价促销功能,实例化GetProductsFunction,SendMailFunction接口 -8. 主函数调用sendMail方法 - -## 重构后 ## -重构后项目,可以根据不同运营方案,添加GetProductsFunction,SendMailFunction接口实现类及Notice子类,向订阅者发送通告 - - diff --git a/students/2842295913/Readme.md b/students/2842295913/Readme.md deleted file mode 100644 index fdae662c31..0000000000 --- a/students/2842295913/Readme.md +++ /dev/null @@ -1 +0,0 @@ -### 学着使用git \ No newline at end of file diff --git a/students/2842295913/ood-assignment/pom.xml b/students/2842295913/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/2842295913/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 1faff3f68d..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DataGenerator.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DataGenerator.java deleted file mode 100644 index 6e9f1c2e84..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/DataGenerator.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 版权 (c) 2017 palmshe.com - * 保留所有权利。 - */ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @Description: - * @author palmshe - * @date 2017年6月11日 下午10:24:46 - */ -public class DataGenerator { - - /** - * @Description:获取商品 - * @param file - * @return - * @throws IOException - */ - public static Map generateGoods(File file) throws IOException{ - Map good= new HashMap(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - good.put(PromotionMail.ID_KEY, data[0]); - good.put(PromotionMail.DESC_KEY, data[1]); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return good; - } - - /** - * @Description:获取客户 - * @param good - * @return - * @throws Exception - */ - public static List loadMailingList(Map good) throws Exception { - String id= (String)good.get(PromotionMail.ID_KEY); - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + id +"' " - + "and send_mail=1 "; - - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index e31d8a9b75..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - private static String fromAddress; - private static String smtpServer; - private static String altSmtpServer; - - public MailUtil(String fromAddress, String smtpServer, String altSmtpServer){ - this.fromAddress= fromAddress; - this.smtpServer= smtpServer; - this.altSmtpServer= altSmtpServer; - } - - /** - * @Description:发送邮件 - * @param pm - * @param debug - */ - public void sendEmail(PromotionMail pm, boolean debug){ - try { - sendEmail(fromAddress, pm.toAddress, pm.subject, pm.message, smtpServer, debug); - } catch (Exception e1) { - try { - sendEmail(fromAddress, pm.toAddress, pm.subject, pm.message, altSmtpServer, debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - private void sendEmail(String from, String to, String subject, String message, String server, boolean debug){ -// 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(from).append("\n"); - buffer.append("To:").append(to).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Main.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Main.java deleted file mode 100644 index 8029d24a4c..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/Main.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * 版权 (c) 2017 palmshe.com - * 保留所有权利。 - */ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * @Description: - * @author palmshe - * @date 2017年6月12日 下午10:07:23 - */ -public class Main { - public static void main(String[] args) { - try { - File f = new File("E:\\Workspace-Sourcetree\\coding2017\\students\\2842295913\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - MailUtil maiUtil= new MailUtil(Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN), Configuration.getProperty(ConfigurationKeys.SMTP_SERVER), Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - Map good = DataGenerator.generateGoods(f); - List users= DataGenerator.loadMailingList(good); - if (!users.isEmpty()) { - Iterator it= users.iterator(); - while (it.hasNext()) { - maiUtil.sendEmail(new PromotionMail((Map)it.next(), good), true); - } - } - } catch (Exception e) { - System.out.println("构造发送邮件数据失败:"+ e.getMessage()); - } - } -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index a773d878ee..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.Map; - -public class PromotionMail { - - protected String toAddress = null; - protected String subject = null; - protected String message = null; - protected String productID = null; - protected String productDesc = null; - - protected static final String NAME_KEY = "NAME"; - protected static final String EMAIL_KEY = "EMAIL"; - protected static final String ID_KEY = "ID"; - protected static final String DESC_KEY = "DESC"; - - public PromotionMail(Map user, Map good){ - String name = (String)user.get(NAME_KEY); - this.productDesc= (String)good.get(DESC_KEY); - this.productID= (String)good.get(ID_KEY); - this.toAddress= (String)user.get(EMAIL_KEY); - this.subject = "您关注的产品降价了"; - this.message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - } -} diff --git a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/2842295913/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/294022181/ood-assignment/product_promotion.txt b/students/294022181/ood-assignment/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/294022181/ood-assignment/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Configuration.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/ConfigurationKeys.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/DBUtil.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Email.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/Email.java deleted file mode 100644 index 956cb57493..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Email.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.coderising.ood.srp; - -public class Email { - private String smtpHost; - private String altSmtpHost; - private String fromAddress; - private String toAddress; - private String subject; - private String message; - private boolean debug; - - public Email() { - - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isDebug() { - return debug; - } - - public void setDebug(boolean debug) { - this.debug = debug; - } - - public void sendToTarget() { - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/MailUtil.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Product.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/Product.java deleted file mode 100644 index fbb4f29db3..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - private String productID; - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/ProductDao.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/ProductDao.java deleted file mode 100644 index ad5c53356e..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/ProductDao.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class ProductDao { - - public Product getProduct(String productFileName) throws IOException { - BufferedReader br = null; - Product product = null; - - try { - File file = new File(productFileName); - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - String productID = data[0]; - String productDesc = data[1]; - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - product = new Product(); - product.setProductID(productID); - product.setProductDesc(productDesc); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - return product; - } -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/PromotionMail.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 1cda5d5859..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - private Configuration config; - private ProductDao productDao; - private SubscriptionDao subscriptionDao; - - public static void main(String[] args) throws Exception { - boolean emailDebug = false; - String productFileName = "./product_promotion.txt"; - PromotionMail pe = new PromotionMail(productFileName, emailDebug); - } - - public PromotionMail(String productFileName, boolean mailDebug) throws Exception { - config = new Configuration(); - productDao = new ProductDao(); - subscriptionDao = new SubscriptionDao(); - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - Product product = productDao.getProduct(productFileName); - - if (product == null) { - return; - } - - sendEMails(mailDebug, product, subscriptionDao.loadMailingList(product.getProductID())); - } - - protected void sendEMails(boolean debug, Product product, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Email email = new Email(); - String smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - String altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - String fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - Iterator iter = mailingList.iterator(); - - while (iter.hasNext()) { - HashMap userInfo = (HashMap) iter.next(); - String toAddress = (String) userInfo.get(EMAIL_KEY); - - if (toAddress.length() > 0) { - String name = (String) userInfo.get(NAME_KEY); - String subject = "您关注的产品降价了"; - String message = "尊敬的 " + name + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - email.setFromAddress(fromAddress); - email.setToAddress(toAddress); - email.setSmtpHost(smtpHost); - email.setAltSmtpHost(altSmtpHost); - email.setSubject(subject); - email.setMessage(message); - email.setDebug(debug); - email.sendToTarget(); - } - } - } else { - System.out.println("没有邮件发送"); - } - - } -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/SubscriptionDao.java b/students/294022181/ood-assignment/src/com/coderising/ood/srp/SubscriptionDao.java deleted file mode 100644 index 2cd57ed644..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/SubscriptionDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class SubscriptionDao { - - public List loadMailingList(String productID) throws Exception { - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/294022181/ood-assignment/src/com/coderising/ood/srp/product_promotion.txt b/students/294022181/ood-assignment/src/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/294022181/ood-assignment/src/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/303252800/.gitignore b/students/303252800/.gitignore deleted file mode 100644 index 41e8fd6dd8..0000000000 --- a/students/303252800/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -target/ -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.idea -*.iws -*.iml -*.ipr -*.zip -*.class -*.jar -*.war -rebel.xml -nbproject/private/ -build/ -nbbuild/ -dist/ -nbdist/ -.nb-gradle/ \ No newline at end of file diff --git a/students/303252800/practice13-ood-srp/pom.xml b/students/303252800/practice13-ood-srp/pom.xml deleted file mode 100644 index 7c3a372045..0000000000 --- a/students/303252800/practice13-ood-srp/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - 4.0.0 - - com.coding2017 - practice13-ood-srp - 1.0-SNAPSHOT - - - 1.6 - UTF-8 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - ${java.encoding} - - - - - \ No newline at end of file diff --git a/students/303252800/practice13-ood-srp/readme.md b/students/303252800/practice13-ood-srp/readme.md deleted file mode 100644 index e5f4455a16..0000000000 --- a/students/303252800/practice13-ood-srp/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# practice13-ood-srp - -  重构一个项目使之符合 SRP (单一职责原则) - -- `EmailConfiguration` 邮件配置职责类 -- `PromotionProduct` 促销产品职责类 -- `PromotionSubscriber` 促销订阅职责类 -- `PromotionNotifier` 促销通知职责类 diff --git a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/EmailConfiguration.java b/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/EmailConfiguration.java deleted file mode 100644 index 3dde0cb7bc..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/EmailConfiguration.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.coding2017.practice13; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -// 邮件配置职责类 -public final class EmailConfiguration { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - - private static final Map configurations = new HashMap(); - - static { - configurations.put(SMTP_SERVER, "smtp.163.com"); - configurations.put(ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(EMAIL_ADMIN, "admin@company.com"); - } - - // 外部不能创建实例 - private EmailConfiguration() { - } - - // 外部不能更改配置 - public static Map getInstance() { - return Collections.unmodifiableMap(configurations); - } - - - public static String getProperty(String key) { - return configurations.get(key); - } - - public static String getFromAddress() { - return configurations.get(EmailConfiguration.EMAIL_ADMIN); - } - - public static String getSmtpServer() { - return configurations.get(EmailConfiguration.SMTP_SERVER); - } - - public static String getAltSmtpServer() { - return configurations.get(EmailConfiguration.ALT_SMTP_SERVER); - } -} diff --git a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/MainApplication.java b/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/MainApplication.java deleted file mode 100644 index b04ed0f0a1..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/MainApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coding2017.practice13; - -import java.util.List; - -public class MainApplication { - - public static void main(String[] args) throws Exception { - List products = PromotionProduct.readFromFile("com/coderising/ood/srp/product_promotion.txt"); - - for (PromotionProduct product : products) { - List subscribers = PromotionSubscriber.querySubscribers(product.getProductId()); - for (PromotionSubscriber subscriber : subscribers) { - PromotionNotifier.sendEmail(product, subscriber); - } - } - } -} diff --git a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionNotifier.java b/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionNotifier.java deleted file mode 100644 index 30c8a44f00..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionNotifier.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.coding2017.practice13; - -import java.text.MessageFormat; - -// 促销通知职责类 -public class PromotionNotifier { - - private static String subject = "您关注的产品降价了"; - private static String message = "尊敬的 {1} , 您关注的产品 {2} 降价了,欢迎购买!"; - - /** - * 发送邮件通知 - * - * @param product 促销产品 - * @param subscriber 订阅人 - */ - public static void sendEmail(PromotionProduct product, PromotionSubscriber subscriber) { - System.out.println("开始发送邮件"); - String content = MessageFormat.format(message, subscriber.getSubscriber(), product.getProductDesc()); - if (subscriber.getToAddress().length() > 0) { - try { - sendEmail(EmailConfiguration.getFromAddress(), subscriber.getToAddress(), subject, content, EmailConfiguration.getSmtpServer()); - } catch (Exception e1) { - try { - sendEmail(EmailConfiguration.getFromAddress(), subscriber.getToAddress(), subject, content, EmailConfiguration.getAltSmtpServer()); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } else { - System.out.println("没有邮件发送"); - } - } - - /** - * 执行发送邮件 - * - * @param fromAddress 发件人地址 - * @param toAddress 收件人地址 - * @param subject 邮件标题 - * @param content 邮件内容 - * @param smtpHost smtp服务器地址 - */ - private static void sendEmail(String fromAddress, String toAddress, String subject, String content, String smtpHost) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(content).append("\n"); - System.out.println(buffer.toString()); - } - -} diff --git a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionProduct.java b/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionProduct.java deleted file mode 100644 index 59200d05bf..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionProduct.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding2017.practice13; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -// 促销产品职责类 -public class PromotionProduct { - - /** 产品ID */ - private String productId; - /** 产品描述 */ - private String productDesc; - - public String getProductId() { - return productId; - } - - public String getProductDesc() { - return productDesc; - } - - public static List readFromFile(String filepath) throws IOException { - List products = new ArrayList(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(new File(filepath))); - String line = null; - while ((line = br.readLine()) != null) { - String[] data = line.split(" "); - PromotionProduct product = new PromotionProduct(); - product.productId = data[0]; - product.productDesc = data[1]; - products.add(product); - System.out.println("产品ID = " + product.getProductId() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - } - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - if (br != null) { - br.close(); - } - } - return products; - } - - -} diff --git a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionSubscriber.java b/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionSubscriber.java deleted file mode 100644 index e58760e6ca..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/java/com/coding2017/practice13/PromotionSubscriber.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding2017.practice13; - -import java.util.ArrayList; -import java.util.List; - -// 促销订阅人职责类 -public class PromotionSubscriber { - - /** 订阅人邮件地址 */ - private String toAddress; - /** 订阅人姓名 */ - private String subscriber; - - public String getToAddress() { - return toAddress; - } - - public String getSubscriber() { - return subscriber; - } - - /** - * 查询促销产品订阅人列表 - * - * @param productId 产品ID - * @return 订阅人列表 - */ - public static List querySubscribers(String productId) { - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productId + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - return new ArrayList(); - } -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/Configuration.java b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/ConfigurationKeys.java b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/DBUtil.java b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/MailUtil.java b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/PromotionMail.java b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/product_promotion.txt b/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/303252800/practice13-ood-srp/src/main/resources/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/309229350/readme.md b/students/309229350/readme.md deleted file mode 100644 index 48b857086e..0000000000 --- a/students/309229350/readme.md +++ /dev/null @@ -1 +0,0 @@ -#测试git,第一次提交 diff --git a/students/315863321/ood/ood-assignment/pom.xml b/students/315863321/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/315863321/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Build.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Build.java deleted file mode 100644 index e8ea1476cd..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Build.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by john on 2017/6/14. - */ -public abstract class Build { - Reader reader = null; - - abstract void build(); - - public Reader getReader() { - return reader; - } - - public void setReader(Reader reader) { - this.reader = reader; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMail.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMail.java deleted file mode 100644 index b1176d9eff..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMail.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public class BuildMail extends Build{ - List mailList; - Product product; - Mail mail; - Configuration config = new Configuration(); - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public BuildMail(List mailList, Product product) { - this.mailList = mailList; - this.product = product; - } - void build() { - List list = reader.read(); - if (list != null) { - Iterator iter = list.iterator(); - while (iter.hasNext()) { - mail = new Mail(); - mail.setSubject(config.getProperty(ConfigurationKeys.SUBJECT)); - mail.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - try { - configureEMail((HashMap) iter.next()); - } catch (IOException e) { - e.printStackTrace(); - } - this.mailList.add(mail); - } - - } - - } - - protected void configureEMail(HashMap userInfo) throws IOException { - mail.setToAddress((String) userInfo.get(EMAIL_KEY)); - if (mail.getToAddress().length() > 0) - setMessage(userInfo); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - mail.setMessage("尊敬的 "+name+", 您关注的产品 " + this.product.getProductDesc() + " 降价了,欢迎购买!"); - - - } - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMailServer.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMailServer.java deleted file mode 100644 index eebc5946c6..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildMailServer.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public class BuildMailServer extends Build{ - private MailServer mailServer; - - public BuildMailServer(MailServer mailServer) { - this.mailServer = mailServer; - } - void build() { - List data = reader.read(); - mailServer.setSmtpHost((String) data.get(0)); - mailServer.setAltSmtpHost((String) data.get(1)); - } - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildProduct.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildProduct.java deleted file mode 100644 index 0c8a66942e..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/BuildProduct.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public class BuildProduct extends Build{ - private Product product; - - public BuildProduct(Product product) { - this.product = product; - } - void build() { - List data = reader.read(); - product.setProductID((String) data.get(0)); - product.setProductDesc((String) data.get(1)); - } - - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 815afc3101..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static final String QUERY = "Select name from subscriptions " - + "where product_id= '" + "%s" +"' " - + "and send_mail=1 "; - - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - configurations.put(ConfigurationKeys.SEND_MAIL_QUERY, QUERY); - configurations.put(ConfigurationKeys.SUBJECT, "您关注的产品降价了"); - - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index afda0b749f..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String SEND_MAIL_QUERY = "email.query"; - public static final String SUBJECT = "email.subject"; - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index 5d8d222aed..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by john on 2017/6/14. - */ - -public class Mail { - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailServer.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailServer.java deleted file mode 100644 index 07a8d588e6..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailServer.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by john on 2017/6/14. - */ -public class MailServer { - protected String smtpHost = null; - protected String altSmtpHost = null; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 3346dfb597..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(Mail mail, MailServer mailServer, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(mail.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index a3027a26cc..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by john on 2017/6/14. - */ -public class Product { - private String productID = null; - private String productDesc = null; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 93fce8bbbd..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - private Product product = new Product(); - private MailServer mailServer = new MailServer(); - private List mailList = new ArrayList(); - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void main(String[] args) throws Exception { - - File f = new File("/Users/john/Documents/mygit_2/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail promotionMail = new PromotionMail(); - //配置产品 - Build build = new BuildProduct(promotionMail.product); - build.setReader(new ReadFromFile(f)); - build.build(); - - //配置邮件服务器 - build = new BuildMailServer(promotionMail.mailServer); - build.setReader(new ReadFromMap()); - build.build(); - - //配置邮件 - build = new BuildMail(promotionMail.mailList, promotionMail.product); - build.setReader(new ReadFromDatabase(promotionMail.product)); - build.build(); - //发送邮件 - promotionMail.sendEMails(emailDebug, promotionMail.mailList); - - - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - Mail mail = (Mail) iter.next(); - try { - if (mail.getToAddress().length() > 0) { - MailUtil.sendEmail(mail, mailServer, debug); - - } - } catch (Exception e) { - - try { - MailUtil.sendEmail(mail, mailServer, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromDatabase.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromDatabase.java deleted file mode 100644 index e3f6f2bae8..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromDatabase.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public class ReadFromDatabase extends Reader { - Configuration config = new Configuration(); - Product product = null; - - public ReadFromDatabase(Product product) { - this.product = product; - } - - List read() { - System.out.println("loadQuery set"); - return DBUtil.query(config.getProperty(String.format(ConfigurationKeys.SEND_MAIL_QUERY, product.getProductID()))); - - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromFile.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromFile.java deleted file mode 100644 index a3a7eb2d5f..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromFile.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -/** - * Created by john on 2017/6/13. - */ -public class ReadFromFile extends Reader{ - - - public ReadFromFile(File file) { - super(file); - } - - List read() { - BufferedReader br = null; - List data = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - data = Arrays.asList(temp.split(" ")); - } catch (IOException e) { - try { - throw new IOException(e.getMessage()); - } catch (IOException e1) { - e1.printStackTrace(); - } - } finally { - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - System.out.println("产品ID = " + data.get(0) + "\n"); - System.out.println("产品描述 = " + data.get(1) + "\n"); - return data; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromMap.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromMap.java deleted file mode 100644 index 880f297411..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ReadFromMap.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public class ReadFromMap extends Reader{ - Configuration config = new Configuration(); - - List read() { - List list = new ArrayList(); - list.add(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - list.add(config.getProperty((ConfigurationKeys.ALT_SMTP_SERVER))); - return list; - } -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Reader.java b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Reader.java deleted file mode 100644 index 7e59a0bb68..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Reader.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.List; - -/** - * Created by john on 2017/6/14. - */ -public abstract class Reader { - File file; - - public Reader(File file) { - this.file = file; - } - - public Reader() { - - } - - abstract List read(); - -} diff --git a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/315863321/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/329866097/.gitignore b/students/329866097/.gitignore deleted file mode 100644 index bf58d0a162..0000000000 --- a/students/329866097/.gitignore +++ /dev/null @@ -1,80 +0,0 @@ -###################### -# 解决java产生文件 -###################### -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -###################### -# 解决maven产生的文件 -###################### - -target/ -**/target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties - -###################### -# 解决各类编辑器自动产生的文件 -###################### - -*.iml - -## Directory-based project format: -.idea/ -# if you remove the above rule, at least ignore the following: - -# User-specific stuff: -# .idea/workspace.xml -# .idea/tasks.xml -# .idea/dictionaries - -# Sensitive or high-churn files: -# .idea/dataSources.ids -# .idea/dataSources.xml -# .idea/sqlDataSources.xml -# .idea/dynamic.xml -# .idea/uiDesigner.xml - -# Gradle: -# .idea/gradle.xml -# .idea/libraries - -# Mongo Explorer plugin: -# .idea/mongoSettings.xml - -## File-based project format: -*.ipr -*.iws - -## Plugin-specific files: - -# IntelliJ -/out/ -/target/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties diff --git a/students/329866097/README.md b/students/329866097/README.md deleted file mode 100644 index 87f2e553da..0000000000 --- a/students/329866097/README.md +++ /dev/null @@ -1 +0,0 @@ -Mr.Who 作业提交 \ No newline at end of file diff --git a/students/329866097/pom.xml b/students/329866097/pom.xml deleted file mode 100644 index b1b8d4d410..0000000000 --- a/students/329866097/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - 4.0.0 - - com.coderising - ood-assignment-txh - 1.0-SNAPSHOT - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - - \ No newline at end of file diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/Configuration.java b/students/329866097/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/329866097/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/329866097/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 2c5d9dd968..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - User user = new User("User" + i, "aa@bb.com"); - userList.add(user); - } - return userList; - } -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/Email.java b/students/329866097/src/main/java/com/coderising/ood/srp/Email.java deleted file mode 100644 index ced66562d2..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/Email.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by tianxianhu on 2017/6/18. - */ -public class Email { - - private static String smtpHost; - private static String altSmtpHost; - private static String fromAddress; - - private static Configuration config; - - static { - config = new Configuration(); - setDefaultConfig(config); - } - - private static void setDefaultConfig(Configuration config) { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public void send(User user, String product, String host) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - - if(user.getEmail().length() > 0) { - String name = user.getName(); - String subject = "您关注的产品降价了"; - String message = "尊敬的 " + name + ", 您关注的产品 " + product + " 降价了,欢迎购买!"; - - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(user.getEmail()).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - } - - public String getSmtpHost() { - return smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/329866097/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index e8cdb97e9a..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -public class FileUtil { - - public static Map readFile(String filePath) throws IOException { - File file = new File(filePath); - BufferedReader br = null; - Map productMap = new HashMap<>(); - try { - br = new BufferedReader(new FileReader(file)); - String content; - while((content = br.readLine()) != null) { - String[] data = content.split(" "); - String productId = data[0]; - String productDesc = data[1]; - productMap.put(productId, productDesc); - System.out.println("产品ID = " + productId + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - } - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - return productMap; - } -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/329866097/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 1273603cb8..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.*; -import java.util.stream.Collectors; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - Email email = new Email(); - - Map productMap = FileUtil.readFile( "src/main/resources/product_promotion.txt"); - for (Map.Entry entry : productMap.entrySet()) { - String productId = entry.getKey(); - String productDesc = entry.getValue(); - List userList = DBUtil.query(setLoadQuery(productId)); - for(User user : userList) { - try { - email.send(user, productDesc, email.getSmtpHost()); - } catch (Exception e) { - try { - email.send(user, productDesc, email.getAltSmtpHost()); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - } - - private static String setLoadQuery(String productID) throws Exception { - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - - return sendMailQuery; - } -} diff --git a/students/329866097/src/main/java/com/coderising/ood/srp/User.java b/students/329866097/src/main/java/com/coderising/ood/srp/User.java deleted file mode 100644 index c1df43bc45..0000000000 --- a/students/329866097/src/main/java/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by tianxianhu on 2017/6/18. - */ -public class User { - - private String name; - private String email; - - public User(String name, String email) { - this.name = name; - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/students/329866097/src/main/resources/product_promotion.txt b/students/329866097/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/329866097/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/335402763/pom.xml b/students/335402763/pom.xml deleted file mode 100644 index d73cd62750..0000000000 --- a/students/335402763/pom.xml +++ /dev/null @@ -1,6 +0,0 @@ - - 4.0.0 - com.coderising - 335402763Learning - 0.0.1-SNAPSHOT - \ No newline at end of file diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/335402763/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 4e777b5cd0..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -import com.coderising.ood.srp.service.PromotionMailService; -import com.coderising.ood.srp.service.impl.PromotionMailServiceImpl; - - -public class PromotionMail { - - - public static void main(String[] args) throws Exception { - - File f = new File("D:\\Program Files\\mygit\\coding2017\\students\\335402763\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMailService promotionMailService = new PromotionMailServiceImpl(); - promotionMailService.sendPromotionMail(f, emailDebug); - } - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java b/students/335402763/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java deleted file mode 100644 index 21f143ff11..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.srp.dao; - -import java.util.List; - -public interface PromotionMailDao { - - /** - * 读取用户信息 - */ - List loadMailingList(String productID); - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/dao/impl/PromotionMailDaoImpl.java b/students/335402763/src/main/java/com/coderising/ood/srp/dao/impl/PromotionMailDaoImpl.java deleted file mode 100644 index 339f5b648e..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/dao/impl/PromotionMailDaoImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coderising.ood.srp.dao.impl; - -import java.util.List; - -import com.coderising.ood.srp.dao.PromotionMailDao; -import com.coderising.ood.srp.utils.DBUtil; - -public class PromotionMailDaoImpl implements PromotionMailDao { - - protected String productID = null; - protected String sendMailQuery = null; - - /** - * 读取用户信息 - */ - @Override - public List loadMailingList(String productID) { - try { - setLoadQuery(productID); - - } catch (Exception e) { - e.printStackTrace(); - } - return DBUtil.query(this.sendMailQuery); - - } - - protected void setLoadQuery(String productID) throws Exception { - - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/335402763/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java b/students/335402763/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java deleted file mode 100644 index 9d1db0cd71..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.File; - -public interface PromotionMailService { - - void sendPromotionMail(File file, boolean mailDebug) throws Exception; - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailServiceImpl.java b/students/335402763/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailServiceImpl.java deleted file mode 100644 index 2d1e8b491a..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/service/impl/PromotionMailServiceImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import com.coderising.ood.srp.dao.PromotionMailDao; -import com.coderising.ood.srp.dao.impl.PromotionMailDaoImpl; -import com.coderising.ood.srp.service.PromotionMailService; -import com.coderising.ood.srp.utils.FileUtil; -import com.coderising.ood.srp.utils.MailUtil; -import com.coderising.ood.srp.utils.PropertiesUtils; - -public class PromotionMailServiceImpl implements PromotionMailService { - - private PromotionMailDao promotionMailDao = new PromotionMailDaoImpl(); - - protected String smtpHost = (String) PropertiesUtils.get(PropertiesUtils.SMTP_SERVER);; - protected String altSmtpHost = (String) PropertiesUtils.get(PropertiesUtils.ALT_SMTP_SERVER);; - protected String fromAddress = (String) PropertiesUtils.get(PropertiesUtils.EMAIL_ADMIN); - - @Override - public void sendPromotionMail(File file, boolean mailDebug) throws Exception { - - // 读取商品信息 - String[] productData = FileUtil.readFile(file); - String productID = productData[0]; - String productDesc = productData[1]; - - List mailingList = promotionMailDao.loadMailingList(productID); - - sendEMails(mailDebug, mailingList, productDesc); - - } - - - /** - * 发送邮件 - * @param debug - * @param mailingList - * @param productDesc - * @throws IOException - */ - protected void sendEMails(boolean debug, List mailingList, String productDesc) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - - HashMap usrInfo = (HashMap) iter.next(); - - HashMap eMailInfo = MailUtil.configureEMail(usrInfo, productDesc); - String toAddress = (String) eMailInfo.get("toAddress"); - String subject = (String) eMailInfo.get("subject"); - String message = (String) eMailInfo.get("message"); - - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - else { - System.out.println("没有邮件发送"); - - } - } - - - - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/utils/DBUtil.java b/students/335402763/src/main/java/com/coderising/ood/srp/utils/DBUtil.java deleted file mode 100644 index 2a7002dede..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/utils/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.utils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/utils/FileUtil.java b/students/335402763/src/main/java/com/coderising/ood/srp/utils/FileUtil.java deleted file mode 100644 index d0a53ec6ae..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/utils/FileUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; - -public class FileUtil { - - public static String[] readFile(File file) throws IOException // @02C - { - HashMap map = new HashMap(); - BufferedReader br = null; - String[] data = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - data = temp.split(" "); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return data; - } - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/utils/MailUtil.java b/students/335402763/src/main/java/com/coderising/ood/srp/utils/MailUtil.java deleted file mode 100644 index 5e72b2e163..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/utils/MailUtil.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; - -public class MailUtil { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - //配置发送地址及内容 - public static HashMap configureEMail(HashMap userInfo , String productDesc) throws IOException { - HashMap map = new HashMap(); - String toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) { - map = setMessage(userInfo,productDesc); - } - map.put("toAddress", toAddress); - return map; - } - - //设置信息内容 - public static HashMap setMessage(HashMap userInfo , String productDesc) throws IOException - { - HashMap map = new HashMap(); - String name = (String) userInfo.get(NAME_KEY); - - String subject = "您关注的产品降价了"; - String message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - map.put("subject", subject); - map.put("message", message); - - return map; - - } - - - -} diff --git a/students/335402763/src/main/java/com/coderising/ood/srp/utils/PropertiesUtils.java b/students/335402763/src/main/java/com/coderising/ood/srp/utils/PropertiesUtils.java deleted file mode 100644 index e8b94b20e7..0000000000 --- a/students/335402763/src/main/java/com/coderising/ood/srp/utils/PropertiesUtils.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp.utils; - -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -public class PropertiesUtils { - - private static Map props=new HashMap(); - private static Properties properties=new Properties(); - - public static final String SMTP_SERVER = "SMTP_SERVER"; - public static final String ALT_SMTP_SERVER = "ALT_SMTP_SERVER"; - public static final String EMAIL_ADMIN = "EMAIL_ADMIN"; - static{ - try { - InputStream inStream=PropertiesUtils.class.getClassLoader().getResourceAsStream("configurationKeys.properties"); - properties.load(inStream); - - props.put(SMTP_SERVER, properties.get(SMTP_SERVER)); - props.put(ALT_SMTP_SERVER, properties.get(ALT_SMTP_SERVER)); - props.put(EMAIL_ADMIN, properties.get(EMAIL_ADMIN)); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - - public static Object get(String key){ - return props.get(key); - } - - public static void set(String key,Object obj){ - props.put(key, obj); - } - -} diff --git a/students/335402763/src/main/resources/configurationKeys.properties b/students/335402763/src/main/resources/configurationKeys.properties deleted file mode 100644 index acde908d1c..0000000000 --- a/students/335402763/src/main/resources/configurationKeys.properties +++ /dev/null @@ -1,3 +0,0 @@ -SMTP_SERVER=smtp.server -ALT_SMTP_SERVER=alt.smtp.server -EMAIL_ADMIN=email.admin \ No newline at end of file diff --git a/students/34594980/ood/ood-assignment/pom.xml b/students/34594980/ood/ood-assignment/pom.xml deleted file mode 100644 index a7e5041647..0000000000 --- a/students/34594980/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,44 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index b40eb53476..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List> query(String sql) { - - List> userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap<>(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } - - public static List> loadMailingList(Product product) { - - String sendMailQuery = "Select name from subscriptions " + "where product_id= '" - + product.getId() + "' " + "and send_mail=1 "; - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java deleted file mode 100644 index e5e6a29076..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.coderising.ood.srp; - -public class Email { - - private String smtpHost ; - private String altSmtpHost ; - private String fromAddress ; - private String toAddress ; - private String subject ; - private String message ; - - - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index 6abdc05ebd..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - - private static final String FILENAME="product_promotion.txt"; - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - public static Product readFile()// @02C - { - Product product = null; - BufferedReader br = null; - try { - String filePath = FileUtil.class.getResource(FILENAME).getPath(); - File file = new File(filePath); - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - product = new Product(data[0], data[1]); - - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return product; - } -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index ef1eb60c5b..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - - private static Configuration config; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void sendEMails(boolean debug) - { - - Product product = FileUtil.readFile(); - System.out.println(product.toString()); - - System.out.println("开始发送邮件"); - - List> mailingList = DBUtil.loadMailingList(product); - - if (mailingList == null){ - System.out.println("没有邮件发送"); - return ; - } - - Iterator> iter = mailingList.iterator(); - while (iter.hasNext()) { - HashMap userInfo = iter.next(); - Email email = MailUtil.configureEMail(userInfo,product); - try { - sendEmail(email.getToAddress(),email.getFromAddress(),email.getSubject(),email.getMessage(),email.getSmtpHost(),debug); - } catch (Exception e1) { - try { - sendEmail(email.getToAddress(),email.getFromAddress(),email.getSubject(),email.getMessage(),email.getAltSmtpHost(),debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost,boolean debug) { - - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - public static Email configureEMail(HashMap userInfo,Product product){ - - Email email = new Email(); - config = new Configuration(); - email.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - email.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - email.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - email.setSubject("您关注的产品降价了"); - String toAddress = (String) userInfo.get(EMAIL_KEY); - email.setToAddress(toAddress); - String name = (String) userInfo.get(NAME_KEY); - email.setMessage("尊敬的 "+name+", 您关注的产品 " + product.getDesc() + " 降价了,欢迎购买!"); - - return email; - - } -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index e96809d498..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - - private String id; //产品ID - private String desc; //产品描述 - public String getId() { - return id; - } - public void setId(String id) { - this.id = id; - } - public String getDesc() { - return desc; - } - public void setDesc(String desc) { - this.desc = desc; - } - - - public Product() { - } - public Product(String id, String desc) { - this.id = id; - this.desc = desc; - } - @Override - public String toString() { - return "产品ID=" + id + "\n产品描述 = " + desc; - } - -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index cf5b0879a0..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp; - - -public class PromotionMail { - - - public static void main(String[] args) { - - boolean emailDebug = false; - - MailUtil.sendEMails(emailDebug); - - } - - -} diff --git a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/34594980/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/346154295/ood-assignment/pom.xml b/students/346154295/ood-assignment/pom.xml deleted file mode 100644 index 0853e4c187..0000000000 --- a/students/346154295/ood-assignment/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.3 - - 1.7 - 1.7 - UTF-8 - - - - - diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index ad72a12c22..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param productID - * @return - */ - public static List> loadMailingList(String productID){ - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - List> userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index f9627d307e..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - private static String smtpHost; - private static String altSmtpHost; - private static String fromAddress; - - public static void init() { - Configuration config = new Configuration(); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - private static void sendEmail(String toAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - public static void sendEmail(String toAddress, String subject, String message, boolean debug) { - if(toAddress == null || toAddress.length() == 0) { - return; - } - try { - sendEmail(toAddress,subject,message,smtpHost,debug); - } catch (Exception e) { - try { - sendEmail(toAddress, subject, message, altSmtpHost, debug); - } catch (Exception e2){ - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java deleted file mode 100644 index e3719a503d..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by xiaoyj on 2017/6/15. - */ -public class ProductInfo { - private String productID; - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index e7530dbc55..0000000000 --- a/students/346154295/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; - -public class PromotionMail { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - boolean emailDebug = false; - File file = new File("src/main/resource/product_promotion.txt"); - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - ProductInfo productInfo = getProductInfo(file); - List> mailingList = DBUtil.loadMailingList(productInfo.getProductID()); - sendEMails(emailDebug, mailingList, productInfo); - - } - - private static String getMessage(HashMap userInfo, ProductInfo productInfo) throws IOException - { - String name = userInfo.get(NAME_KEY); - return "尊敬的 "+name+", 您关注的产品 " + productInfo.getProductDesc() + " 降价了,欢迎购买!" ; - } - private static String getSubject() { - return "您关注的产品降价了"; - } - - protected static void sendEMails(boolean debug, List> mailingList, ProductInfo productInfo) throws IOException { - System.out.println("开始发送邮件"); - MailUtil.init(); - if (mailingList != null) { - for (HashMap userInfo : mailingList) { - String toAddress = userInfo.get(EMAIL_KEY); - if (toAddress == null || toAddress.length() == 0) { - continue; - } - String subject = getSubject(); - String message =getMessage(userInfo, productInfo); - MailUtil.sendEmail(toAddress, subject, message, debug); - } - - } else { - System.out.println("没有邮件发送"); - - } - } - private static ProductInfo getProductInfo(File file) throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - ProductInfo productInfo = new ProductInfo(); - productInfo.setProductID(data[0]); - productInfo.setProductDesc(data[1]); - - System.out.println("产品ID = " + productInfo.getProductID() + "\n"); - System.out.println("产品描述 = " + productInfo.getProductDesc() + "\n"); - return productInfo; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/346154295/ood-assignment/src/main/resource/product_promotion.txt b/students/346154295/ood-assignment/src/main/resource/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/346154295/ood-assignment/src/main/resource/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/349166103/ood/ood-assignment/pom.xml b/students/349166103/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/349166103/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 80d83d3a81..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - public Configuration(){ - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - - private void setSMTPHost() - { - smtpHost = ConfigurationKeys.SMTP_SERVER; - } - - private void setAltSMTPHost() - { - altSmtpHost = ConfigurationKeys.ALT_SMTP_SERVER; - - } - - private void setFromAddress() - { - fromAddress = ConfigurationKeys.EMAIL_ADMIN; - } - - public String getFromAddress() - { - return fromAddress; - } - - public String getSMTPHost() - { - return smtpHost; - } - - public String getAltSMTPHost() - { - return altSmtpHost; - } - - - -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 1c9afcdfb2..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.coderising.ood.srp; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - private String sendMailQuery = null; - private String productID = null; - private String productDesc = null; - private File f = null; - - DBUtil(File f){ - try { - readFile(f); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - public List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - private void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + getProductID() +"' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - } - - - private void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - protected void setProductID(String productID) - { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public String getProductID() { - return productID; - } -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailContent.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailContent.java deleted file mode 100644 index e1abf927f4..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailContent.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; - -public class MailContent { - - private String subject = null; - private String message = null; - private String toAddress = null; - private final String NAME_KEY = "NAME"; - private final String EMAIL_KEY = "EMAIL"; - - public MailContent(File f, HashMap userInfo, String prodInfo){ - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - try { - configureEMail(userInfo, prodInfo); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - - private void setMessage(HashMap userInfo, String prodInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + prodInfo + " 降价了,欢迎购买!" ; - - } - - protected void configureEMail(HashMap userInfo, String prodInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo, prodInfo); - } - - public String getToAddress() { - return toAddress; - } - - public String getSubject() { - return subject; - } - - public String getMessage() { - return message; - } -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index f676fd5fdb..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.HashMap; - -public class MailUtil { - - private MailContent mc = null; - private String toAddress = null; - private String fromAddress = null; - private String subject = null; - private String message = null; - private String smtpHost = null; - private String altSmtpHost = null; - - public MailUtil(Configuration config, File f, HashMap userInfo, String prodInfo){ - mc = new MailContent(f, userInfo, prodInfo); - toAddress = mc.getToAddress(); - subject = mc.getSubject(); - message = mc.getMessage(); - fromAddress = config.getFromAddress(); - smtpHost = config.getSMTPHost(); - altSmtpHost = config.getAltSMTPHost(); - } - public void sendEmail(boolean debug) { - try - { - if (toAddress.length() > 0) - sendEmail(smtpHost); - } - catch (Exception e) - { - try { - sendEmail(altSmtpHost); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - private void sendEmail(String server){ - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 86e5abaa0d..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - File f = new File(System.getProperty("user.dir")+"/src/main/java/com/coderising/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(emailDebug, f); - } - - public PromotionMail(boolean debug, File f) throws Exception - { - Configuration config = new Configuration(); - DBUtil dbu = new DBUtil(f); - List mailingList = dbu.loadMailingList(); - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - MailUtil mu = new MailUtil(config, f, (HashMap)iter.next(), dbu.getProductDesc()); - mu.sendEmail(debug); - } - } - else { - System.out.println("没有邮件发送"); - } - } -} diff --git a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/349166103/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/360682644/ood-assignment/pom.xml b/students/360682644/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/360682644/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index e17b664d48..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - public static final String EMAIL_ADMIN = "email.admin"; - private Map configurations = new HashMap(); - private static Configuration configuration = new Configuration(); - { - configurations.put(EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } - - public static Configuration getInstance(){ - return configuration; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index e6f0ca21cb..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql, Product product){ - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - MailReceiver receiver = new MailReceiver(); - receiver.setName("User" + i); - receiver.setEmail("aa@bb.com"); - receiver.setMessage(product); - receiver.setSubject(product); - userList.add(receiver); - } - return userList; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/IMailable.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/IMailable.java deleted file mode 100644 index 019a96394e..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/IMailable.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by 360682644 on 2017/6/13. - */ -public interface IMailable { - - String toEmailText(String... params); - String toEmailSubject(String... params); -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailHosts.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailHosts.java deleted file mode 100644 index 72a39d0601..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailHosts.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by 360682644 on 2017/6/13. - */ -public class MailHosts { - - private List hosts = new ArrayList(); - { - hosts.add("smtp.163.com"); - hosts.add("smtp1.163.com"); - } - - public List getHosts() { - return hosts; - } - public void setHosts(List hosts) { - this.hosts = hosts; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailReceiver.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailReceiver.java deleted file mode 100644 index 250f594a89..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailReceiver.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by 360682644 on 2017/6/13. - */ -public class MailReceiver { - private String name; - private String email; - private String message; - private String subject; - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public String getMessage() { - return message; - } - public void setMessage(IMailable IMailable) { - message = IMailable.toEmailText(name); - } - public void setSubject(IMailable IMailable) { - subject = IMailable.toEmailSubject(null); - } - public void setMessage(String message) { - this.message = message; - } - public String getSubject() { - return subject; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailSender.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailSender.java deleted file mode 100644 index 4d22aff9c5..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailSender.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.coderising.ood.srp; - -import org.junit.Assert; - -import java.io.*; -import java.util.*; - -public class MailSender { - - protected MailHosts hosts = null; - protected String fromAddress = null; - protected InputStream is = null; - protected List receivers = null; - private Configuration config = Configuration.getInstance(); - - public void init() throws Exception { - setSMTPHost(); - setFromAddress(); - } - - protected MailSender setEmailInput(InputStream is) throws IOException { - this.is = is; - return this; - } - - protected MailSender setReceiver() throws IOException { - Assert.assertNotNull("is cannot be null", is); - List products = read(is); - receivers = new ArrayList(); - for (Product product : products) { - receivers.addAll(ReceiverService.getInstance().loadMailingList(product)); - } - return this; - } - - protected void setSMTPHost() { - hosts = new MailHosts(); - } - - protected void setFromAddress() { - fromAddress = config.getProperty(Configuration.EMAIL_ADMIN); - } - - protected List read(InputStream is) throws IOException { - BufferedReader br = null; - List products = new ArrayList(); - try { - br = new BufferedReader(new InputStreamReader(is)); - String temp; - while ((temp = br.readLine()) != null) { - String[] data = temp.split(" "); - Product product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - products.add(product); - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - } - } catch (IOException e) { - throw e; - } finally { - br.close(); - } - return products; - } - - protected void send() throws IOException { - System.out.println("开始发送邮件"); - if (receivers == null || receivers.isEmpty()) { - System.out.println("没有邮件发送"); - return; - } - for (MailReceiver receiver : receivers) { - MailUtil.sendEmail(receiver.getEmail(), fromAddress, receiver.getSubject(), receiver.getMessage(), hosts); - } - } - - public static void main(String[] args) throws Exception { - - File f = new File("D:\\coding2017\\students\\360682644\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - MailSender pe = new MailSender(); - pe.init(); - pe.setEmailInput(new FileInputStream(f)) - .setReceiver() - .send(); - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 2d4545cf06..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, MailHosts smtpHosts) { - for(String hosts : smtpHosts.getHosts()) { - try { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - break; - } catch (Exception e) { - System.err.println(String.format("通过SMTP服务器(%s)发送邮件失败: %s", hosts,e.getMessage())); - } - } - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 51dc9ea460..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by 360682644 on 2017/6/13. - */ -public class Product implements IMailable { - private String productID = null; - private String productDesc = null; - - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - public String toEmailText(String... params) { - return "尊敬的 "+ params[0] +", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - } - public String toEmailSubject(String... params) { - return "您关注的产品降价了"; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/ReceiverService.java b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/ReceiverService.java deleted file mode 100644 index f5ea863389..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/ReceiverService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -/** - * Created by 360682644 on 2017/6/13. - */ -public class ReceiverService { - - private final static ReceiverService service = new ReceiverService(); - public static ReceiverService getInstance(){return service;} - - public List loadMailingList(Product product){ - return DBUtil.query(getLoadQuery(), product); - } - - public String getLoadQuery(){ - String query = "Select name from subscriptions " - + "where product_id= ? " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - return query; - } -} diff --git a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/360682644/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/382266293/src/ood/srp/MailSender.java b/students/382266293/src/ood/srp/MailSender.java deleted file mode 100644 index 83e3fbef85..0000000000 --- a/students/382266293/src/ood/srp/MailSender.java +++ /dev/null @@ -1,52 +0,0 @@ -package ood.srp; - -import ood.srp.bean.Mail; -import ood.srp.bean.Product; -import ood.srp.config.Configuration; -import ood.srp.config.ServerConfig; -import ood.srp.dao.MailDAO; -import ood.srp.dao.ProductDAO; -import ood.srp.util.MailUtil; - -import java.io.File; -import java.util.List; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public abstract class MailSender { - - protected static ServerConfig sc = new Configuration().config().getServerConfig(); - protected static MailDAO mailDAO = new MailDAO(); - protected static ProductDAO productDAO = new ProductDAO(); - protected boolean debug; - - protected List prepareMails(File productFile) throws Exception { - - List products = productDAO.list(productFile); - List mailingList = mailDAO.loadMailingList(products); - setMailContext(mailingList); - - return mailingList; - } - - protected abstract void setMailContext(List mailingList); - - protected void setDebug(boolean debug) { - this.debug = debug; - } - - protected void sendEMails(List mailingList) { - - if (mailDAO.isValide(mailingList)) { - System.out.println("开始发送邮件"); - - for (Mail mail : mailingList) { - MailUtil.send(mail, sc); - } - } - - } - - -} diff --git a/students/382266293/src/ood/srp/PromotionMail.java b/students/382266293/src/ood/srp/PromotionMail.java deleted file mode 100644 index c3d6520a67..0000000000 --- a/students/382266293/src/ood/srp/PromotionMail.java +++ /dev/null @@ -1,40 +0,0 @@ -package ood.srp; - -import ood.srp.bean.Mail; - -import java.io.File; -import java.util.List; - -public class PromotionMail extends MailSender { - - private static final String EMAIL_ADMIN = "email.admin"; - - public static void main(String[] args) throws Exception { - - File f = new File("E:\\git\\coding2017\\students\\382266293\\src\\com\\coderising\\ood\\srp\\data\\product_promotion.txt"); - MailSender pm = new PromotionMail(); - pm.setDebug(false); - List mailList = pm.prepareMails(f); - pm.sendEMails(mailList); - - } - - @Override - protected void setMailContext(List mailingList) { - - String subject = "您关注的产品降价了"; - - for (Mail mail : mailingList) { - mail.setFromAddress(EMAIL_ADMIN); - mail.setSubject(subject); - String name = mail.getSubscriber().getName(); - String productDesc = mail.getProduct().getProductDesc(); - String message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - mail.setSubject(subject); - mail.setMessage(message); - } - - } - - -} diff --git a/students/382266293/src/ood/srp/bean/Mail.java b/students/382266293/src/ood/srp/bean/Mail.java deleted file mode 100644 index 91e1363140..0000000000 --- a/students/382266293/src/ood/srp/bean/Mail.java +++ /dev/null @@ -1,53 +0,0 @@ -package ood.srp.bean; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class Mail { - - private String fromAddress; - private String subject; - private String message; - private Product product; - private Subscriber subscriber; - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public Product getProduct() { - return product; - } - - public void setProduct(Product product) { - this.product = product; - } - - public Subscriber getSubscriber() { - return subscriber; - } - - public void setSubscriber(Subscriber subscriber) { - this.subscriber = subscriber; - } -} diff --git a/students/382266293/src/ood/srp/bean/Product.java b/students/382266293/src/ood/srp/bean/Product.java deleted file mode 100644 index 3b879b274f..0000000000 --- a/students/382266293/src/ood/srp/bean/Product.java +++ /dev/null @@ -1,38 +0,0 @@ -package ood.srp.bean; - -import java.util.List; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class Product { - - private String productID; - private String productDesc; - private List subscribers; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public List getSubscribers() { - return subscribers; - } - - public void setSubscribers(List subscribers) { - this.subscribers = subscribers; - } - -} diff --git a/students/382266293/src/ood/srp/bean/Subscriber.java b/students/382266293/src/ood/srp/bean/Subscriber.java deleted file mode 100644 index a2a2641622..0000000000 --- a/students/382266293/src/ood/srp/bean/Subscriber.java +++ /dev/null @@ -1,27 +0,0 @@ -package ood.srp.bean; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class Subscriber { - - private String name; - private String mailAddress; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getMailAddress() { - return mailAddress; - } - - public void setMailAddress(String mailAddress) { - this.mailAddress = mailAddress; - } - -} diff --git a/students/382266293/src/ood/srp/config/Configuration.java b/students/382266293/src/ood/srp/config/Configuration.java deleted file mode 100644 index 59bf7bfbd1..0000000000 --- a/students/382266293/src/ood/srp/config/Configuration.java +++ /dev/null @@ -1,37 +0,0 @@ -package ood.srp.config; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - private static final String SMTP_SERVER = "smtp.server"; - private static final String ALT_SMTP_SERVER = "alt.smtp.server"; - - - private static Map configurations = null; - - public Configuration config() { - - configurations = new HashMap<>(); - configurations.put(SMTP_SERVER, "smtp.163.com"); - configurations.put(ALT_SMTP_SERVER, "smtp1.163.com"); - - return this; - } - - public ServerConfig getServerConfig() { - - ServerConfig sc = new ServerConfig(); - - sc.setSmtpHost(getProperty(SMTP_SERVER)); - sc.setAltSmtpHost(getProperty(ALT_SMTP_SERVER)); - - return sc; - } - - private String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/382266293/src/ood/srp/config/ServerConfig.java b/students/382266293/src/ood/srp/config/ServerConfig.java deleted file mode 100644 index 2c8c52a79a..0000000000 --- a/students/382266293/src/ood/srp/config/ServerConfig.java +++ /dev/null @@ -1,32 +0,0 @@ -package ood.srp.config; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class ServerConfig { - - private String smtpHost; - private String altSmtpHost; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - -} - - - - diff --git a/students/382266293/src/ood/srp/dao/MailDAO.java b/students/382266293/src/ood/srp/dao/MailDAO.java deleted file mode 100644 index c80eb7f7bc..0000000000 --- a/students/382266293/src/ood/srp/dao/MailDAO.java +++ /dev/null @@ -1,39 +0,0 @@ -package ood.srp.dao; - -import ood.srp.bean.Mail; -import ood.srp.bean.Product; -import ood.srp.bean.Subscriber; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class MailDAO { - - public List loadMailingList(List products) throws Exception { - - List mails = new ArrayList<>(); - - for (Product p : products) { - List subscribers = new UserDAO().list(p); - - for (Subscriber s : subscribers) { - Mail mail = new Mail(); - mail.setProduct(p); - mail.setSubscriber(s); - mails.add(mail); - } - } - return mails; - } - - public boolean isValide(List mailingList) { - if (null == mailingList || mailingList.isEmpty()) { - throw new RuntimeException("没有邮件发送"); - } - return true; - } - -} diff --git a/students/382266293/src/ood/srp/dao/ProductDAO.java b/students/382266293/src/ood/srp/dao/ProductDAO.java deleted file mode 100644 index 39312cf24a..0000000000 --- a/students/382266293/src/ood/srp/dao/ProductDAO.java +++ /dev/null @@ -1,49 +0,0 @@ -package ood.srp.dao; - -import ood.srp.bean.Product; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class ProductDAO { - - public List list(File productFile) throws IOException // @02C - { - - System.out.println(productFile); - List products = new ArrayList<>(); - - System.out.println("开始导入产品清单"); - try (BufferedReader br = new BufferedReader(new FileReader(productFile))) { - String temp = null; - while (null != (temp = br.readLine())) { - String[] data = temp.split(" "); - - String productID = data[0]; - String productDesc = data[1]; - - Product p = new Product(); - p.setProductID(productID); - p.setProductDesc(productDesc); - System.out.println("产品ID = " + productID); - System.out.println("产品描述 = " + productDesc + "\r\n"); - - products.add(p); - } - } catch (IOException e) { - throw new IOException(e.getMessage()); - } - - - return products; - } - - -} diff --git a/students/382266293/src/ood/srp/dao/UserDAO.java b/students/382266293/src/ood/srp/dao/UserDAO.java deleted file mode 100644 index 91ebd5cd23..0000000000 --- a/students/382266293/src/ood/srp/dao/UserDAO.java +++ /dev/null @@ -1,31 +0,0 @@ -package ood.srp.dao; - -import ood.srp.bean.Product; -import ood.srp.bean.Subscriber; -import ood.srp.util.DBUtil; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by onlyLYJ on 2017/6/12. - */ -public class UserDAO { - - public List list(Product p) throws Exception { - - DBUtil.setLoadQuery(p); - - List subscribers = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - Subscriber s = new Subscriber(); - s.setName("user" + i); - s.setMailAddress(s.getName() + "@amazon.com"); - subscribers.add(s); - - } - return subscribers; - - } - -} diff --git a/students/382266293/src/ood/srp/data/product_promotion.txt b/students/382266293/src/ood/srp/data/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/382266293/src/ood/srp/data/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/382266293/src/ood/srp/util/DBUtil.java b/students/382266293/src/ood/srp/util/DBUtil.java deleted file mode 100644 index 9d14f02cba..0000000000 --- a/students/382266293/src/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package ood.srp.util; - -import ood.srp.bean.Product; - -public class DBUtil { - - public static void setLoadQuery(Product p) { - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + p.getProductID() + "' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - -} diff --git a/students/382266293/src/ood/srp/util/MailUtil.java b/students/382266293/src/ood/srp/util/MailUtil.java deleted file mode 100644 index d41af6667e..0000000000 --- a/students/382266293/src/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,32 +0,0 @@ -package ood.srp.util; - -import ood.srp.bean.Mail; -import ood.srp.config.ServerConfig; - -public class MailUtil { - - public static void send(Mail mail, ServerConfig sc) { - try { - sendEmail(mail, sc.getSmtpHost()); - } catch (Exception e) { - try { - sendEmail(mail, sc.getAltSmtpHost()); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - public static void sendEmail(Mail mail, String SmtpHost) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(mail.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getSubscriber().getMailAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/382266293/src/pom.xml b/students/382266293/src/pom.xml deleted file mode 100644 index 2bf55e64c9..0000000000 --- a/students/382266293/src/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/Configuration.java b/students/382266293/src/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index db20a8a5d5..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,27 +0,0 @@ -package src.main.java.com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/382266293/src/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 4946f09f38..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package src.main.java.com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/382266293/src/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 6edf953e19..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,27 +0,0 @@ -package src.main.java.com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List query(String sql) { - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/382266293/src/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 3b6716de70..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package src.main.java.com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/382266293/src/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index e23638c4b2..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,172 +0,0 @@ -package src.main.java.com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - private static Configuration config; - protected String sendMailQuery = null; - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - protected String productID = null; - protected String productDesc = null; - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - public static void main(String[] args) throws Exception { - - File f = new File("E:\\git\\coding2017\\students\\382266293\\src\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - protected void setProductID(String productID) { - this.productID = productID; - - } - - protected String getproductID() { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/382266293/src/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/382266293/src/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/382266293/src/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/382266293/src/test.java b/students/382266293/src/test.java deleted file mode 100644 index 56d4d4396e..0000000000 --- a/students/382266293/src/test.java +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Created by onlyLYJ on 2017/6/11. - */ - - -public class test { - - -} diff --git a/students/383117348/ood-assignment/pom.xml b/students/383117348/ood-assignment/pom.xml deleted file mode 100644 index 1be81576cc..0000000000 --- a/students/383117348/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 715b5a23db..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - configurations.put(ConfigurationKeys.IS_EMAIL_DEBUG, false); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public Object getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index ddc77c7566..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String IS_EMAIL_DEBUG = "is_email_debug"; -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 65383e4dba..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index 275edf2ab2..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class FileUtil { - - /** - * 根据文件路径获取文件,如果文件不存在,抛出异常 - * @param path - * @return - * @throws FileNotFoundException - */ - public static File readFile(String path) throws FileNotFoundException { - File file = new File(path); - if (!file.exists()) { - throw new FileNotFoundException("文件不存在"); - } - return file; - } - - /** - * 根据正则,将文件中的数据解析成字符串数组形式返回 - * - * @param file - * @param regex - * @return - */ - public static List parseToString(File file, String regex) { - List list = new ArrayList(); - BufferedReader br = null; - try { - if (file != null && file.exists()) { - - br = new BufferedReader(new FileReader(file)); - String temp = null; - while ((temp = br.readLine()) != null) { - String[] strs = temp.split(regex); - list.add(strs); - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (br != null) { - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - return list; - } -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index d5ed2e536e..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - private static String fromAddress = ""; - private static String smtpHost = ""; - private static String altSmtpHost = ""; - private static boolean debug = false; - - private static Configuration config = new Configuration(); - - private static void ConfigureEmail() { - - altSmtpHost = (String) config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = (String) config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - smtpHost = (String) config.getProperty(ConfigurationKeys.SMTP_SERVER); - debug = (Boolean) config.getProperty(ConfigurationKeys.IS_EMAIL_DEBUG); - } - /** - * 发送单条邮件 - * @param toAddress - * @param subject - * @param message - */ - public static void sendEmail(String toAddress,String subject,String message) { - ConfigureEmail(); - if(debug){ - System.out.println("测试环境"); - }else{ - System.out.println("正式环境"); - } - try { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } catch (Exception e) { - try { - System.out.println("备用SMTP服务器: "); - MailUtil.sendEmail(toAddress, subject, message); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - - } - -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index d00b438768..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public class PromotionMail { - - protected String subject = null; - protected String message = null; - - private static List products = new ArrayList(); - - private static String filePath = "E:\\coding2017\\students\\383117348\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"; - - private UserInfoService uis = new UserInfoServiceImpl(); - - public PromotionMail(File file) throws Exception { - // 读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - } - - public static void main(String[] args) throws Exception { - File f = FileUtil.readFile(filePath); - PromotionMail pe = new PromotionMail(f); - // 遍历每条产品信息 - for (String[] data : products) { - List> list = pe.loadUserInfoList(data[0]); - if (list != null && list.size() > 0) { - pe.sendEMails(list, data[1]); - } - } - } - - /** - * 读取产品文件,获得所有的产品信息 - * - * @param file - */ - protected void readFile(File file) { - List datas = FileUtil.parseToString(file, " "); - if (datas != null && datas.size() > 0) { - products = datas; - for (String[] data : products) { - System.out.print("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - } - } - } - - /** - * 根据产品id获取需要发送的用户信息,暂未考虑sql注入的安全问题 - * - * @return - * @throws Exception - */ - protected List> loadUserInfoList(String productID) throws Exception { - return uis.getList(productID); - } - - /** - * 设置发送的消息体 - * - * @param name - * @throws IOException - */ - protected void setMessage(String name, String productDesc) throws IOException { - this.subject = "您关注的产品降价了"; - this.message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - } - - /** - * 发送邮件 - * - * @param mailingList - * @throws IOException - */ - protected void sendEMails(List> mailingList, String productDesc) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator> iter = mailingList.iterator(); - while (iter.hasNext()) { - Map map = iter.next(); - String toAddress = (String) map.get("EMAIL"); - String name = (String) map.get("NAME"); - setMessage(name, productDesc); - if (toAddress != null && toAddress.length() > 0) - MailUtil.sendEmail(toAddress, subject, message); - } - } else { - System.out.println("没有邮件发送"); - } - - } - -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoService.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoService.java deleted file mode 100644 index 9dea3e28d5..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; -import java.util.Map; - -public interface UserInfoService { - /** - * 根据产品id获取订阅信息用户 - * @param productID - * @return - */ - public List> getList(String productID); - -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoServiceImpl.java b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoServiceImpl.java deleted file mode 100644 index 07427ac138..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class UserInfoServiceImpl implements UserInfoService { - - public List> getList(String productID) { - // TODO Auto-generated method stub - List> list = new ArrayList>(); - String sql = "Select name from subscriptions " + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - try { - list = DBUtil.query(sql); - } catch (Exception e) { - e.printStackTrace(); - } - - return list; - } - - -} diff --git a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/383117348/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/383117348/ood-assignment/src/test/java/com/coderising/ood_assignment/AppTest.java b/students/383117348/ood-assignment/src/test/java/com/coderising/ood_assignment/AppTest.java deleted file mode 100644 index 931f1f5362..0000000000 --- a/students/383117348/ood-assignment/src/test/java/com/coderising/ood_assignment/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood_assignment; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/students/395860968/ood-assignment/Configuration.java b/students/395860968/ood-assignment/Configuration.java deleted file mode 100644 index 44c566fcaa..0000000000 --- a/students/395860968/ood-assignment/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/395860968/ood-assignment/ConfigurationKeys.java b/students/395860968/ood-assignment/ConfigurationKeys.java deleted file mode 100644 index 868a03ff83..0000000000 --- a/students/395860968/ood-assignment/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/395860968/ood-assignment/DBUtil.java b/students/395860968/ood-assignment/DBUtil.java deleted file mode 100644 index 65383e4dba..0000000000 --- a/students/395860968/ood-assignment/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/395860968/ood-assignment/FileUtil.java b/students/395860968/ood-assignment/FileUtil.java deleted file mode 100644 index 9a1a468c10..0000000000 --- a/students/395860968/ood-assignment/FileUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by kenhuang on 2017/6/15. - */ -public class FileUtil { - private static final String FILE_PATH="/Users/kenhuang/Desktop/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt"; - private static File f = new File(FileUtil.FILE_PATH); - protected static Product readFile() throws IOException // @02C - { - BufferedReader br = null; - Product resultProduct; - try { - br = new BufferedReader(new FileReader(f)); - String temp = br.readLine(); - String[] data = temp.split(" "); - resultProduct = new Product(data[0],data[1]); - System.out.println("产品ID = " + resultProduct.productID + "\n"); - System.out.println("产品描述 = " + resultProduct.productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return resultProduct; - } -} diff --git a/students/395860968/ood-assignment/MailUtil.java b/students/395860968/ood-assignment/MailUtil.java deleted file mode 100644 index e62f40ead8..0000000000 --- a/students/395860968/ood-assignment/MailUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; - - -public class MailUtil { - protected String smtpHost = null; - protected String altSmtpHost = null; - public MailUtil(String smtpHost, String altSmtpHost) { - this.smtpHost = smtpHost; - this.altSmtpHost = altSmtpHost; - } - private static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - public void sendPromotionMail(boolean debug, PromotionMail mail) throws IOException { - System.out.println("开始发送邮件"); - String toAddress; - String message; - if (mail.toAddressList != null) { - while (mail.hasNextToAddress()) { - toAddress = mail.getNextToAddress(); - if (toAddress.length() > 0){ - message = mail.generateMessageToCurrentToAddress(); - try { - MailUtil.sendEmail(toAddress, mail.fromAddress, mail.subject, message, this.smtpHost, debug); - } - catch (Exception e) { - try { - MailUtil.sendEmail(toAddress, mail.fromAddress, mail.subject, message, this.altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - }else { - System.out.println("目标地址为空"); - } - } - } else { - System.out.println("没有邮件发送"); - } - } -} diff --git a/students/395860968/ood-assignment/Product.java b/students/395860968/ood-assignment/Product.java deleted file mode 100644 index 27ce7b0ef1..0000000000 --- a/students/395860968/ood-assignment/Product.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by kenhuang on 2017/6/15. - */ -public class Product { - protected String productID = null; - protected String productDesc = null; - // protected String sendMailQuery = null; - public Product(String productID, String productDesc) { - this.productID = productID; - this.productDesc = productDesc; - } - protected String generateLoadQuery() { - System.out.println("loadQuery set"); - return "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - } -} diff --git a/students/395860968/ood-assignment/PromotionMail.java b/students/395860968/ood-assignment/PromotionMail.java deleted file mode 100644 index f62a56c295..0000000000 --- a/students/395860968/ood-assignment/PromotionMail.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coderising.ood.srp; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; - -public class PromotionMail { - protected String fromAddress = null; - protected List toAddressList = null; - protected String subject = "您关注的产品降价了"; - protected String message = null; - private Product product; - private int toAddressListIndex = -1 ; - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - public static void main(String[] args) throws Exception { - Product product = FileUtil.readFile(); - if (product != null) { - boolean emailDebug = false; - Configuration config = new Configuration(); - MailUtil mailUtil = new MailUtil(config.getProperty(ConfigurationKeys.SMTP_SERVER), - config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - PromotionMail mail = new PromotionMail(config.getProperty(ConfigurationKeys.EMAIL_ADMIN),product); - mailUtil.sendPromotionMail(emailDebug,mail); - } - } - public PromotionMail(String fromAddress,Product product) throws Exception { - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - this.fromAddress = fromAddress; - this.product = product; - this.toAddressList = DBUtil.query(this.product.generateLoadQuery()); - } - public boolean hasNextToAddress(){ - return this.toAddressListIndex < this.toAddressList.size() - 1; - } - public String getNextToAddress(){ - HashMap map = (HashMap)this.toAddressList.get(++this.toAddressListIndex); - return (String)map.get(EMAIL_KEY); - } - protected String generateMessageToCurrentToAddress() throws IOException { - HashMap map = (HashMap)this.toAddressList.get(this.toAddressListIndex); - String name = (String) map.get(NAME_KEY); - return "尊敬的 "+name+", 您关注的产品 " + this.product.productDesc + " 降价了,欢迎购买!" ; - } -} diff --git a/students/395860968/ood-assignment/product_promotion.txt b/students/395860968/ood-assignment/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/395860968/ood-assignment/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/395860968/ood-assignment/src b/students/395860968/ood-assignment/src deleted file mode 100644 index 8b13789179..0000000000 --- a/students/395860968/ood-assignment/src +++ /dev/null @@ -1 +0,0 @@ - diff --git a/students/402246209/learning/pom.xml b/students/402246209/learning/pom.xml deleted file mode 100644 index 129bccd496..0000000000 --- a/students/402246209/learning/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - com.mimieye - learning - RELEASE - jar - - - \ No newline at end of file diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/Configuration.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/Configuration.java deleted file mode 100644 index d4e3c6fe16..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/Configuration.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.mimieye.odd.srp.config; -import com.mimieye.odd.srp.util.PropertiesUtil; - -import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -public class Configuration { - private static final String CONFIG_FILENAME = "config.properties"; - static Properties configurations = null; - static{ - try { - configurations = PropertiesUtil.getInstance(CONFIG_FILENAME); - } catch (Exception e) { - e.printStackTrace(); - } - } - /** - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.getProperty(key); - } - -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/ConfigurationKeys.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/ConfigurationKeys.java deleted file mode 100644 index 7f1a264d0a..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.mimieye.odd.srp.config; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String PROMOTION_FILEPATH = "promotion.filepath"; - public static final String EMAIL_DEBUG = "emailDebug"; - -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionAbstractMail.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionAbstractMail.java deleted file mode 100644 index eb7544b4f1..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionAbstractMail.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.mimieye.odd.srp.controller; - -import com.mimieye.odd.srp.config.Configuration; -import com.mimieye.odd.srp.config.ConfigurationKeys; -import com.mimieye.odd.srp.dao.impl.UserInfoDAOImpl; -import com.mimieye.odd.srp.service.PromotionInfoService; -import com.mimieye.odd.srp.service.UserInfoService; -import com.mimieye.odd.srp.service.impl.PromotionInfoServiceImpl; -import com.mimieye.odd.srp.service.impl.UserInfoServiceImpl; -import com.mimieye.odd.srp.util.MailUtil; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public abstract class PromotionAbstractMail { - - protected static Configuration config; - protected static final String NAME_KEY = "NAME"; - protected static final String EMAIL_KEY = "EMAIL"; - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - protected String filePath; - protected boolean mailDebug; - protected List userInfos; - protected String productID; - protected String productDesc; - - public void init() throws Exception{ - config = new Configuration(); - setFilePath(config.getProperty(ConfigurationKeys.PROMOTION_FILEPATH)); - setMailDebug(Boolean.parseBoolean(ConfigurationKeys.EMAIL_DEBUG)); - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - // 降价商品service - PromotionInfoService promotionInfoService = new PromotionInfoServiceImpl(); - // 邮件接收人service - UserInfoService userInfoService = new UserInfoServiceImpl(new UserInfoDAOImpl()); - // 获取第一条降价商品 - Map promotion = promotionInfoService.listPromotions(filePath).get(0); - setProductID(promotion.get("productID")); - setProductDesc(promotion.get("productDesc")); - // 获取邮件接收人 - setUserInfos(userInfoService.loadMailingList(productID)); - } - - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } else { - System.out.println("没有邮件发送"); - } - - } - - public void send() throws IOException { sendEMails(mailDebug, userInfos); } - - protected void setSMTPHost() { smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); } - - protected void setAltSMTPHost() { altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); } - - protected void setFromAddress() { fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); } - - protected void setFilePath(String filePath) { this.filePath = filePath; } - - protected void setMailDebug(boolean mailDebug) { this.mailDebug = mailDebug; } - - protected void setUserInfos(List userInfos) { this.userInfos = userInfos; } - - protected void setProductID(String productID) { this.productID = productID; } - - protected void setProductDesc(String productDesc) { this.productDesc = productDesc; } - - protected abstract void setMessage(HashMap userInfo) throws IOException ; -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionMail.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionMail.java deleted file mode 100644 index 983126e4db..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/controller/PromotionMail.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.mimieye.odd.srp.controller; - -import java.io.IOException; -import java.util.HashMap; - -public class PromotionMail extends PromotionAbstractMail{ - - /** - * 自定义邮件内容 - * @param userInfo - * @throws IOException - */ - protected void setMessage(HashMap userInfo) throws IOException { - String name = (String) userInfo.get(NAME_KEY); - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - } - -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/UserInfoDAO.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/UserInfoDAO.java deleted file mode 100644 index 00ef1860b2..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/UserInfoDAO.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.mimieye.odd.srp.dao; - -import com.mimieye.odd.srp.util.DBUtil; - -import java.util.List; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public interface UserInfoDAO { - - List loadMailingList(String productID) throws Exception; -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/impl/UserInfoDAOImpl.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/impl/UserInfoDAOImpl.java deleted file mode 100644 index c59b4bde9e..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/dao/impl/UserInfoDAOImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.mimieye.odd.srp.dao.impl; - -import com.mimieye.odd.srp.dao.UserInfoDAO; -import com.mimieye.odd.srp.util.DBUtil; - -import java.util.List; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public class UserInfoDAOImpl implements UserInfoDAO { - - public List loadMailingList(String productID) throws Exception { - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/main/PromotionEmailMain.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/main/PromotionEmailMain.java deleted file mode 100644 index 4a6c4366b2..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/main/PromotionEmailMain.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.mimieye.odd.srp.main; - -import com.mimieye.odd.srp.controller.PromotionAbstractMail; -import com.mimieye.odd.srp.controller.PromotionMail; - -/** - * Created by Pierreluo on 2017/6/17. - */ -public class PromotionEmailMain { - public static void main(String[] args) throws Exception { - PromotionAbstractMail mail = new PromotionMail(); - // 初始化数据 - mail.init(); - // 发送邮件 - mail.send(); - } -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/PromotionInfoService.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/PromotionInfoService.java deleted file mode 100644 index bfcb508100..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/PromotionInfoService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.mimieye.odd.srp.service; - -import com.mimieye.odd.srp.util.FileReadUtil; - -import java.io.IOException; -import java.util.*; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public interface PromotionInfoService { - List> listPromotions(String filePath) throws Exception; -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/UserInfoService.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/UserInfoService.java deleted file mode 100644 index 57747f298a..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/UserInfoService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mimieye.odd.srp.service; - -import com.mimieye.odd.srp.util.DBUtil; - -import java.util.List; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public interface UserInfoService { - List loadMailingList(String productID) throws Exception; -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/PromotionInfoServiceImpl.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/PromotionInfoServiceImpl.java deleted file mode 100644 index 20aa392ea2..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/PromotionInfoServiceImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.mimieye.odd.srp.service.impl; - -import com.mimieye.odd.srp.service.PromotionInfoService; -import com.mimieye.odd.srp.util.FileReadUtil; - -import java.io.IOException; -import java.util.*; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public class PromotionInfoServiceImpl implements PromotionInfoService { - - @Override - public List> listPromotions(String filePath) throws Exception { - List> list = null; - List results = FileReadUtil.readFile(filePath); - if(results != null && results.size()>0){ - list = new ArrayList<>(); - String temp = null; - String[] data = null; - Map map = null; - Iterator iterator = results.iterator(); - int i=1; - while(iterator.hasNext()){ - temp = iterator.next(); - data = temp.split(" "); - map = new HashMap<>(); - map.put("productID",data[0]); - map.put("productDesc",data[1]); - list.add(map); - System.out.println("产品"+(i)+"ID = " + data[0] ); - System.out.println("产品"+(i++)+"描述 = " + data[1] + "\n"); - } - }else{ - throw new IOException("No Records."); - } - return list; - } - -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/UserInfoServiceImpl.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/UserInfoServiceImpl.java deleted file mode 100644 index 39d7613a61..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/service/impl/UserInfoServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mimieye.odd.srp.service.impl; - -import com.mimieye.odd.srp.dao.UserInfoDAO; -import com.mimieye.odd.srp.service.UserInfoService; -import com.mimieye.odd.srp.util.DBUtil; - -import java.util.List; - -/** - * Created by Pierreluo on 2017/6/15. - */ -public class UserInfoServiceImpl implements UserInfoService { - - private UserInfoDAO dao; - - public UserInfoServiceImpl(){} - public UserInfoServiceImpl(UserInfoDAO dao){ - this.dao = dao; - } - - public List loadMailingList(String productID) throws Exception { - return dao.loadMailingList(productID); - } -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/DBUtil.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/DBUtil.java deleted file mode 100644 index c3e16050f4..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.mimieye.odd.srp.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/FileReadUtil.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/FileReadUtil.java deleted file mode 100644 index 0c0a8f58cf..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/FileReadUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.mimieye.odd.srp.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Pierreluo on 2017/6/13. - */ -public class FileReadUtil { - - public static List readFile(String fileName) throws IOException { - File file = new File(fileName); - BufferedReader reader = null; - List results = null; - try { - reader = new BufferedReader(new FileReader(file)); - String tempString = null; - while ((tempString = reader.readLine()) != null) { - if(results == null){ - results = new ArrayList<>(); - } - results.add(tempString); - } - reader.close(); - } catch (IOException e) { - e.printStackTrace(); - throw e; - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e1) { - } - } - } - return results; - } -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/MailUtil.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/MailUtil.java deleted file mode 100644 index b576aac1ed..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mimieye.odd.srp.util; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/PropertiesUtil.java b/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/PropertiesUtil.java deleted file mode 100644 index b40c49447c..0000000000 --- a/students/402246209/learning/src/main/java/com/mimieye/odd/srp/util/PropertiesUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mimieye.odd.srp.util; - -import java.io.File; -import java.io.InputStream; -import java.util.Properties; - -/** - * Created by Pierreluo on 2017/6/17. - */ -public class PropertiesUtil { - - public static Properties getInstance(String fileName) throws Exception { - InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName); - Properties properties = new Properties(); - properties.load(in); - return properties; - } -} diff --git a/students/402246209/learning/src/main/resources/config.properties b/students/402246209/learning/src/main/resources/config.properties deleted file mode 100644 index 290d819f1e..0000000000 --- a/students/402246209/learning/src/main/resources/config.properties +++ /dev/null @@ -1,5 +0,0 @@ -smtp.server=smtp.163.com -alt.smtp.server=smtp1.163.com -email.admin=admin@company.com -promotion.filepath=F:/projectL/coding2017/students/402246209/learning/src/main/resources/product_promotion.txt -emailDebug=false diff --git a/students/402246209/learning/src/main/resources/product_promotion.txt b/students/402246209/learning/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/402246209/learning/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/404481481/day01/src/com/coderising/ood/srp/Configuration.java b/students/404481481/day01/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f2d42038ad..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - - public static void init(PromotionMail promotion){ - Configuration config = new Configuration(); - promotion.smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - promotion.altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - promotion.fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } -} diff --git a/students/404481481/day01/src/com/coderising/ood/srp/ConfigurationKeys.java b/students/404481481/day01/src/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/404481481/day01/src/com/coderising/ood/srp/DBUtil.java b/students/404481481/day01/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/404481481/day01/src/com/coderising/ood/srp/FileUtil.java b/students/404481481/day01/src/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index dca25210f6..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - - public static void readFile(File file,PromotionMail promotion) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - promotion.productID = data[0]; - promotion.productDesc = data[1]; - - System.out.println("产品ID = " + promotion.productID + "\n"); - System.out.println("产品描述 = " + promotion.productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/404481481/day01/src/com/coderising/ood/srp/MailUtil.java b/students/404481481/day01/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index da0ccb3153..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - public static void sendEMails(boolean debug, List mailingList, PromotionMail promotion) throws IOException { - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - promotion.configureEMail((HashMap) iter.next()); - try { - if (promotion.toAddress.length() > 0) - MailUtil.sendEmail(promotion.toAddress, promotion.fromAddress, promotion.subject, - promotion.message, promotion.smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(promotion.toAddress, promotion.fromAddress, promotion.subject, - promotion.message, promotion.altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/404481481/day01/src/com/coderising/ood/srp/PromotionMail.java b/students/404481481/day01/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 2472e23d3b..0000000000 --- a/students/404481481/day01/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; - -public class PromotionMail { - - protected String sendMailQuery = null; - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void main(String[] args) throws Exception { - - File f = new File("G:\\Java\\github\\coding2017\\students\\404481481\\day01\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - // 读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - FileUtil.readFile(file, this); - Configuration.init(this); - setLoadQuery(); - - MailUtil.sendEMails(mailDebug, loadMailingList(), this); - - } - - protected void setLoadQuery() throws Exception { - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - } - - protected void setMessage(HashMap userInfo) throws IOException { - String name = (String) userInfo.get(NAME_KEY); - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - } - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - -} diff --git a/students/404481481/day01/src/product_promotion.txt b/students/404481481/day01/src/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/404481481/day01/src/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/406400373/readme.md b/students/406400373/readme.md deleted file mode 100644 index 0fc025be21..0000000000 --- a/students/406400373/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -406400373(上海-凯伦) -第二季的代码仓库 diff --git a/students/429301805/ood-assignment/pom.xml b/students/429301805/ood-assignment/pom.xml deleted file mode 100644 index 1be81576cc..0000000000 --- a/students/429301805/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 927c7155cc..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 33e1d29f7d..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - - public static final String NAME_KEY = "NAME"; - public static final String EMAIL_KEY = "EMAIL"; - - -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 605d196312..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "user"+i+"@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/HostService.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/HostService.java deleted file mode 100644 index ccb5041cad..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/HostService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.coderising.ood.srp; - -public class HostService { - - private static String smtpHost; - - private static String altSmtpHost; - - public static void setSMTPHost(Configuration config) - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - public static void setAltSMTPHost(Configuration config) - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - public static String getSmtpHost() { - return smtpHost; - } - - - public static String getAltSmtpHost() { - return altSmtpHost; - } - - - -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index f437e0e651..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - public static boolean configureEMail(HashMap userInfo,String toAddress) //throws IOException - { - if (toAddress.length() > 0){ - return true; - }else{ - return false; - } - } - - public static String setFromAddress(Configuration config) - { - String fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - return fromAddress; - } - - public static String setToAddress(HashMap userInfo){ - String toAddress = (String) userInfo.get(ConfigurationKeys.EMAIL_KEY); - return toAddress; - } - -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 5881e903ba..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - - private String productID; - private String productDesc; - - public Product(String productID,String productDesc){ - this.productID = productID; - this.productDesc = productDesc; - } - - public String getProductID() { - return productID; - } - - public String getProductDesc() { - return productDesc; - } - - - -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 54e494a37b..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - protected String sendMailQuery = null; - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\Users\\CHS\\Desktop\\ood-assignment1\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - config = new Configuration(); - - initService(config); - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - protected void initService(Configuration config) { - HostService.setSMTPHost(config); - HostService.setAltSMTPHost(config); - smtpHost = HostService.getSmtpHost(); - altSmtpHost = HostService.getAltSmtpHost(); - fromAddress = MailUtil.setFromAddress(config); - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(ConfigurationKeys.NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - Product p = new Product(data[0], data[1]); - productID = p.getProductID(); - productDesc = p.getProductDesc(); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - System.out.println("开始发送邮件"); - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - HashMap userInfo = (HashMap) iter.next(); - toAddress = MailUtil.setToAddress(userInfo); - if(MailUtil.configureEMail(userInfo,toAddress)) - setMessage(userInfo); - else - System.out.println("用户信息不正确!"); - try - { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/429301805/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/429301805/src/gz/sychs/cn/test.java b/students/429301805/src/gz/sychs/cn/test.java deleted file mode 100644 index 9fa342b44f..0000000000 --- a/students/429301805/src/gz/sychs/cn/test.java +++ /dev/null @@ -1,10 +0,0 @@ -package gz.sychs.cn; - -public class test { - - public static void main(String[] args) { - // TODO Auto-generated method stub - System.out.println("This is a test"); - } - -} diff --git a/students/463256809/ood-assignment/pom.xml b/students/463256809/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/463256809/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index fad6f3219b..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by wenwei on 2017/6/14. - */ -public class FileUtil { - - private static Product product = new Product(); - - public static void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 73e822f361..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - - private static String sendMailQuery = null; - private static String smtpHost = null; - private static String altSmtpHost = null; - private static String fromAddress = null; - private static String toAddress = null; - private static String subject = null; - private static String message = null; - - - private static Configuration config = new Configuration(); - private static Product product = new Product(); - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - protected static void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected static void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected static void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected static void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected static void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - - - - } - - - - protected static void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected static List loadMailingList() throws Exception { - return DBUtil.query(sendMailQuery); - } - - - public static void sendEMails(boolean debug, List mailingList) throws Exception - { - - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - setLoadQuery(); - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 4420dfc603..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by wenwei on 2017/6/14. - */ -public class Product { - - private String productID = null; - private String productDesc = null; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index e4241217a2..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - -// File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - File f = new File("/Users/wenwei/mygit/coding2017/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - FileUtil.readFile(file); - - MailUtil.sendEMails(mailDebug, MailUtil.loadMailingList()); - } - - -} diff --git a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/463256809/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/465034663/README.md b/students/465034663/README.md deleted file mode 100644 index 773f79cede..0000000000 --- a/students/465034663/README.md +++ /dev/null @@ -1 +0,0 @@ -OOD面向对象 \ No newline at end of file diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/AltSMTPHost.java b/students/465034663/src/main/java/com/coderising/ood/mytest/AltSMTPHost.java deleted file mode 100644 index cc492d23be..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/AltSMTPHost.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.coderising.ood.mytest; - -/** - * Created by Arthur on 2017/6/17. - */ -public class AltSMTPHost implements Host { - - @Override - public String setHost() { - return this.configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/Configuration.java b/students/465034663/src/main/java/com/coderising/ood/mytest/Configuration.java deleted file mode 100644 index ae74eda7be..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.mytest; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/ConfigurationKeys.java b/students/465034663/src/main/java/com/coderising/ood/mytest/ConfigurationKeys.java deleted file mode 100644 index ae9234e569..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.mytest; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/DBUtil.java b/students/465034663/src/main/java/com/coderising/ood/mytest/DBUtil.java deleted file mode 100644 index cb8b8d4927..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/DBUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.mytest; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - public static String loadQuery(String productID) throws Exception { - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - return sendMailQuery; - } -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/Email.java b/students/465034663/src/main/java/com/coderising/ood/mytest/Email.java deleted file mode 100644 index 208fb59b21..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/Email.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.coderising.ood.mytest; - -/** - * Created by Arthur on 2017/6/17. - */ -public class Email { - - String toAddress; - String fromAddress; - String subject; - String message; - String smtpHost; - - public Email() {} - - public Email(String toAddress, String fromAddress, String subject, String message, String smtpHost) { - this.toAddress = toAddress; - this.fromAddress = fromAddress; - this.subject = subject; - this.message = message; - this.smtpHost = smtpHost; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/Host.java b/students/465034663/src/main/java/com/coderising/ood/mytest/Host.java deleted file mode 100644 index 3c87232aba..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/Host.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.mytest; - -/** - * Created by Arthur on 2017/6/17. - */ -public interface Host { - - Configuration configuration = new Configuration(); - - String setHost(); - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/IOUtils.java b/students/465034663/src/main/java/com/coderising/ood/mytest/IOUtils.java deleted file mode 100644 index 2d44ca482e..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/IOUtils.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.mytest; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by Arthur on 2017/6/17. - */ -public class IOUtils { - - protected static String[] readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - - try { - - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - return data; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/MailUtil.java b/students/465034663/src/main/java/com/coderising/ood/mytest/MailUtil.java deleted file mode 100644 index b29261e059..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.mytest; - -public class MailUtil { - - public static void sendEmail(Email email, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(email.getFromAddress()).append("\n"); - buffer.append("To:").append(email.getToAddress()).append("\n"); - buffer.append("Subject:").append(email.getSubject()).append("\n"); - buffer.append("Content:").append(email.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/PromotionMail.java b/students/465034663/src/main/java/com/coderising/ood/mytest/PromotionMail.java deleted file mode 100644 index 19f8e66222..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/PromotionMail.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.coderising.ood.mytest; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery; - - - protected String smtpHost; - protected String altSmtpHost; - protected String fromAddress; - protected String toAddress; - protected String subject; - protected String message; - - protected String productID; - protected String productDesc; - - private Email email; - - private static Configuration config; - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("D:\\IdeaWorspace\\works\\coding2017\\students\\465034663\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - IOUtils.readFile(file); - - - config = new Configuration(); - - /*setSMTPHost(); - setAltSMTPHost();*/ - this.smtpHost = new SMTPHost().setHost(); - this.altSmtpHost = new AltSMTPHost().setHost(); - - setFromAddress(); - - - //setLoadQuery(); - - DBUtil.loadQuery(this.productID); - sendEMails(mailDebug, loadMailingList()); - - - } - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - - } - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - setEmail(); - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(this.email, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(this.email, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } else { - System.out.println("没有邮件发送"); - - } - - } - - private void setEmail(){ - this.email = new Email(this.toAddress, this.fromAddress, this.subject, this.message, this.altSmtpHost); - } -} diff --git a/students/465034663/src/main/java/com/coderising/ood/mytest/SMTPHost.java b/students/465034663/src/main/java/com/coderising/ood/mytest/SMTPHost.java deleted file mode 100644 index 3d2ab58ace..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/mytest/SMTPHost.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.mytest; - - -/** - * Created by Arthur on 2017/6/17. - */ -public class SMTPHost implements Host { - - @Override - public String setHost() { - return this.configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/Configuration.java b/students/465034663/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/465034663/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/465034663/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/465034663/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/465034663/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index d29c2d3dc0..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("D:\\IdeaWorspace\\works\\coding2017\\students\\465034663\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - protected void setProductID(String productID) { - this.productID = productID; - - } - - protected String getproductID() { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/465034663/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/465034663/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/465034663/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/466199956/ood/ood-assignment/pom.xml b/students/466199956/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/466199956/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index af199815a4..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index 5d59ae261b..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by Dell on 2017/6/15. - */ -public class FileUtil { - public static String readFile (File file) throws IOException{ - - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - return br.readLine(); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index cd2bb049dc..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -/** - * Created by Dell on 2017/6/15. - */ -public class Mail { - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - - - protected String sendMailQuery = null; - - - protected static final String NAME_KEY = "NAME"; - protected static final String EMAIL_KEY = "EMAIL"; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(this, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(this, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } - - protected void configureEMail(HashMap userInfo) throws IOException - { - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index c2d46495a0..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(Mail mail, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(mail.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 6587491c3b..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by Dell on 2017/6/15. - */ -public class Product { - - private String productID = null; - private String productDesc = null; - - - - public void setProductID(String productID) - { - this.productID = productID; - - } - - public String getproductID() - { - return productID; - } - - - public void setProductDesc(String desc) { - this.productDesc = desc; - } - - public String getProductDesc() { - return productDesc; - } -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 1d054470eb..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail extends Mail { - protected Product product; - private static Configuration config; - - public static void main(String[] args) throws Exception { - File f = new File("E:\\LandWolf\\coding2017\\students\\466199956\\ood\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(f, emailDebug); - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - product = new Product(); - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - config = new Configuration(); - - setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - - - setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getproductID() + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - - - } - - - protected void readFile(File file) throws IOException // @02C - { - String temp = FileUtil.readFile(file); - String[] data = temp.split(" "); - - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + product.getproductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - } - - - @Override - protected void configureEMail(HashMap userInfo) throws IOException { - - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - this.setMessage(userInfo); - } -} diff --git a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/466199956/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/466199956/readme.md b/students/466199956/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/students/469880403/ood-assignment/pom.xml b/students/469880403/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/469880403/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index a6791a7cfa..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import com.coderising.ood.srp.dao.SubscriptionDao; -import com.coderising.ood.srp.entity.MailSetting; -import com.coderising.ood.srp.entity.ProductInfo; -import com.coderising.ood.srp.properties.Configuration; -import com.coderising.ood.srp.properties.ConfigurationKeys; -import com.coderising.ood.srp.util.FileUtil; -import com.coderising.ood.srp.util.MailUtil; - -public class PromotionMail { - - private boolean mailDebug; - - - private static SubscriptionDao subscriptionDao = new SubscriptionDao(); - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void main(String[] args) throws Exception { - // 1 读取配置文件,加载产品信息 - File file = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - ProductInfo productInfo = new ProductInfo(); - FileUtil.readFileAndSetProductInfo(file, productInfo); - - // 2 设置邮箱服务信息 - Configuration config = new Configuration(); - MailSetting mailSetting = new MailSetting(); - loadMailSetting(config, mailSetting); - - // 3 查询意向用户信息 - subscriptionDao.setLoadQuery(productInfo.getProductID()); - List sendMailList = subscriptionDao.loadMailingList(); - - // 4 发送邮件 - PromotionMail pe = new PromotionMail(emailDebug); - pe.sendEMails(mailSetting, sendMailList, productInfo); - - } - - public PromotionMail( boolean mailDebug) throws Exception { - - this.mailDebug = mailDebug; - } - - private static void loadMailSetting(Configuration config, MailSetting mailSetting) { - - mailSetting.setAltSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mailSetting.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mailSetting.setFromAddress(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - } - - - - protected void sendEMails(MailSetting mailSetting, List mailingList, ProductInfo productInfo) throws IOException { - - System.out.println("开始发送邮件"); - String subject = "您关注的产品降价了"; - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - Map userInfo = (HashMap) iter.next(); - String userName = (String) userInfo.get(NAME_KEY); - String toAddress = (String) userInfo.get(EMAIL_KEY); - String productDesc = productInfo.getProductDesc(); - String message = "尊敬的 " + userName + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, mailSetting.getFromAddress(), subject, message, - mailSetting.getSmtpHost(), this.mailDebug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, mailSetting.getFromAddress(), subject, message, - mailSetting.getAltSmtpHost(), this.mailDebug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - else { - System.out.println("没有邮件发送"); - - } - - } - - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/dao/SubscriptionDao.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/dao/SubscriptionDao.java deleted file mode 100644 index f5360f0373..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/dao/SubscriptionDao.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp.dao; - -import java.util.List; - -import com.coderising.ood.srp.util.DBUtil; - -public class SubscriptionDao { - - protected static String sendMailQuery = null; - public List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - public void setLoadQuery(String productID) throws Exception { - - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/MailSetting.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/MailSetting.java deleted file mode 100644 index c3db877aa4..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/MailSetting.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp.entity; - -public class MailSetting { - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - private String toAddress = null; - - - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/ProductInfo.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/ProductInfo.java deleted file mode 100644 index 0a6a569f27..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/entity/ProductInfo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coderising.ood.srp.entity; - -public class ProductInfo { - private String productID = null; - private String productDesc = null; - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/Configuration.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/Configuration.java deleted file mode 100644 index 73aaa9166e..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.properties; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/ConfigurationKeys.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/ConfigurationKeys.java deleted file mode 100644 index 8b09c99124..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.properties; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/product_promotion.txt b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/properties/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index a23198fcea..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java deleted file mode 100644 index a0bb0f3a85..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import com.coderising.ood.srp.entity.ProductInfo; - -public class FileUtil { - - public static void readFileAndSetProductInfo(File file,ProductInfo productInfo) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - productInfo.setProductID( data[0]); - productInfo.setProductDesc( data[1]); - - - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - -} diff --git a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index bb028c690c..0000000000 --- a/students/469880403/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp.util; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/469880403/readme.md b/students/469880403/readme.md deleted file mode 100644 index 8fc153b34f..0000000000 --- a/students/469880403/readme.md +++ /dev/null @@ -1 +0,0 @@ -说明文件 \ No newline at end of file diff --git a/students/472779948/helloworld.txt b/students/472779948/helloworld.txt deleted file mode 100644 index fe51499bb2..0000000000 --- a/students/472779948/helloworld.txt +++ /dev/null @@ -1 +0,0 @@ -helloworld! \ No newline at end of file diff --git a/students/472779948/ood-assignment/pom.xml b/students/472779948/ood-assignment/pom.xml deleted file mode 100644 index 06d60721b0..0000000000 --- a/students/472779948/ood-assignment/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - 1.8 - 1.8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 930ab2805c..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - protected String sendMailQuery = null; - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param productID - * @return - */ - public static List query(String productID){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - protected void setLoadQuery(String productID) throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/FileManager.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/FileManager.java deleted file mode 100644 index a280c09d67..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/FileManager.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileManager { - //读取配置文件方法,单独提出来,其他的类需要时可复用 - public static String[] readFile(File file) throws IOException // @02C - { - String data[] = null; - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - data = temp.split(" "); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return data; - } -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index 42da2ec0b1..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.coderising.ood.srp; - -public class Mail { - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - private String toAddress = null; - private String subject = null; - private String message = null; - - - public Mail() { - } - - public Mail(String smtpHost, String altSmtpHost, String fromAddress, String toAddress, String subject, String message) { - this.smtpHost = smtpHost; - this.altSmtpHost = altSmtpHost; - this.fromAddress = fromAddress; - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public String toString() { - return "Mail{" + - "smtpHost='" + smtpHost + '\'' + - ", altSmtpHost='" + altSmtpHost + '\'' + - ", fromAddress='" + fromAddress + '\'' + - ", toAddress='" + toAddress + '\'' + - ", subject='" + subject + '\'' + - ", message='" + message + '\'' + - '}'; - } -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index ff00545c91..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class MailUtil { - - public static void sendEmail(Mail mail, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(mail.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - public static List loadMailingList(String productID) throws Exception { - return DBUtil.query(productID); - } - - -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index e4074ba44a..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by lenovo on 2017/6/13. - */ -public class Product { - private String productID; - private String productDesc; - - public Product(String productID, String productDesc) { - this.productID = productID; - this.productDesc = productDesc; - } - - public String getproductID() { - return productID; - } - - public void setproductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index f7e083ec4b..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - protected Mail mail = null; - protected Product product = null; - - private static Configuration config; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void main(String[] args) throws Exception { - - File f = new File("E:\\workspace\\private\\projects\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - config = new Configuration(); - - //构造Mail对象 - mail = new Mail(); - mail.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mail.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mail.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - String[] data = FileManager.readFile(file); - product = new Product(data[0],data[1]); - - sendEMails(mailDebug, MailUtil.loadMailingList(product.getproductID()));//MailUtil - } - - protected void setMessage(HashMap userInfo) throws IOException { - String name = (String) userInfo.get(NAME_KEY); - mail.setSubject("您关注的产品降价了"); - mail.setMessage("尊敬的 " + name + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"); - - } - - protected void configureEMail(HashMap userInfo) throws IOException { - mail.setToAddress((String) userInfo.get(EMAIL_KEY)); - if (mail.getToAddress().length() > 0) - setMessage(userInfo); - } - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try { - if (mail.getToAddress().length() > 0) - MailUtil.sendEmail(mail, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(mail, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } else { - System.out.println("没有邮件发送"); - - } - } -} diff --git a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/472779948/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/494800949/pom.xml b/students/494800949/pom.xml deleted file mode 100644 index 521e154bc6..0000000000 --- a/students/494800949/pom.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - 4.0.0 - - season2 - season2 - 1.0-SNAPSHOT - - - \ No newline at end of file diff --git a/students/494800949/src/main/java/ood/assignment/srp/Configuration.java b/students/494800949/src/main/java/ood/assignment/srp/Configuration.java deleted file mode 100644 index 858e860697..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package ood.assignment.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/494800949/src/main/java/ood/assignment/srp/ConfigurationKeys.java b/students/494800949/src/main/java/ood/assignment/srp/ConfigurationKeys.java deleted file mode 100644 index c41514a2fb..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package ood.assignment.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/494800949/src/main/java/ood/assignment/srp/DBUtil.java b/students/494800949/src/main/java/ood/assignment/srp/DBUtil.java deleted file mode 100644 index 26ba6bb524..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package ood.assignment.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/494800949/src/main/java/ood/assignment/srp/MailUtil.java b/students/494800949/src/main/java/ood/assignment/srp/MailUtil.java deleted file mode 100644 index 03aca56c16..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/MailUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package ood.assignment.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - - -} diff --git a/students/494800949/src/main/java/ood/assignment/srp/PromotionMail.java b/students/494800949/src/main/java/ood/assignment/srp/PromotionMail.java deleted file mode 100644 index 326f56a3d5..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/PromotionMail.java +++ /dev/null @@ -1,198 +0,0 @@ -package ood.assignment.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("I:\\sourceCode\\coding2017_2\\students\\494800949\\src\\main\\java\\ood\\assignment\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/494800949/src/main/java/ood/assignment/srp/product_promotion.txt b/students/494800949/src/main/java/ood/assignment/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/494800949/src/main/java/ood/assignment/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/494800949/src/main/java/ood/work/srp/Configuration.java b/students/494800949/src/main/java/ood/work/srp/Configuration.java deleted file mode 100644 index 878ae499c2..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package ood.work.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/494800949/src/main/java/ood/work/srp/ConfigurationKeys.java b/students/494800949/src/main/java/ood/work/srp/ConfigurationKeys.java deleted file mode 100644 index 6127d61f88..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package ood.work.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/494800949/src/main/java/ood/work/srp/DBUtil.java b/students/494800949/src/main/java/ood/work/srp/DBUtil.java deleted file mode 100644 index 48f108e054..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/DBUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package ood.work.srp; -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User userInfo = new User(); - userInfo.setName("User" + i); - userInfo.setEmail("aa"+ i +"@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/Email.java b/students/494800949/src/main/java/ood/work/srp/Email.java deleted file mode 100644 index 2d3c4a4995..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/Email.java +++ /dev/null @@ -1,41 +0,0 @@ -package ood.work.srp; - -/** - * Created by Administrator on 2017/6/17 0017. - */ -public class Email { - - private String toAddress; - private String subject; - private String message; - - public Email(String toAddress, String subject, String message) { - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - } - - public String getToAddress() { - return toAddress; - } - - public String getSubject() { - return subject; - } - - public String getMessage() { - return message; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/Emails.java b/students/494800949/src/main/java/ood/work/srp/Emails.java deleted file mode 100644 index 768e513c88..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/Emails.java +++ /dev/null @@ -1,38 +0,0 @@ -package ood.work.srp; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Administrator on 2017/6/17 0017. - */ -public class Emails { - - public static Email newEmail(User user, Product product) { - String subject = "您关注的产品降价了"; - String message = "尊敬的 "+user.getName()+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - return new Email(user.getEmail(), subject, message); - } - - public static List createEmails(String path) throws IOException { - List products = ProductInfoLoader.readFile(path); - List mails = new ArrayList<>(); - for (Product product : products) { - String sql = getSql(product.getProductId()); - List users = DBUtil.query(sql); - for (User user : users) { - Email mail = Emails.newEmail(user, product); - mails.add(mail); - } - } - return mails; - } - - private static String getSql(String productId) { - System.out.println("loadQuery set"); - return "Select name from subscriptions " - + "where product_id= '" + productId +"' " - + "and send_mail=1 "; - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/MailUtil.java b/students/494800949/src/main/java/ood/work/srp/MailUtil.java deleted file mode 100644 index 43ab9a4339..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/MailUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package ood.work.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - public static void sendEmail(Email mailInfo, String fromAddress, String smtphost, boolean debug) { - String toAddress = mailInfo.getToAddress(); - String subject = mailInfo.getSubject(); - String message = mailInfo.getMessage(); - sendEmail(toAddress, fromAddress, subject, message, smtphost, debug); - } - -} diff --git a/students/494800949/src/main/java/ood/work/srp/Product.java b/students/494800949/src/main/java/ood/work/srp/Product.java deleted file mode 100644 index b3b4400014..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/Product.java +++ /dev/null @@ -1,26 +0,0 @@ -package ood.work.srp; - -/** - * Created by Administrator on 2017/6/17 0017. - * 商品类 - */ -public class Product { - private String productId; - private String productDesc; - - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/ProductInfoLoader.java b/students/494800949/src/main/java/ood/work/srp/ProductInfoLoader.java deleted file mode 100644 index 8a484e9524..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/ProductInfoLoader.java +++ /dev/null @@ -1,35 +0,0 @@ -package ood.work.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Administrator on 2017/6/17 0017. - */ -public class ProductInfoLoader { - - public static List readFile(String path) throws IOException // @02C - { - File file = new File(path); - List products = new ArrayList<>(); - try(BufferedReader br = new BufferedReader(new FileReader(file))) { - String line; - while ((line = br.readLine()) != null) { - String[] data = line.split(" "); - Product product = new Product(); - product.setProductId(data[0]); - product.setProductDesc(data[1]); - products.add(product); - System.out.println("产品ID = " + product.getProductId() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - } - } catch (IOException e) { - throw new IOException(e.getMessage()); - } - return products; - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/PromotionMail.java b/students/494800949/src/main/java/ood/work/srp/PromotionMail.java deleted file mode 100644 index fb9e5e0774..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/PromotionMail.java +++ /dev/null @@ -1,32 +0,0 @@ -package ood.work.srp; - -import java.io.IOException; - -/** - * Created by Administrator on 2017/6/17 0017. - */ -public class PromotionMail { - - private String path; - - public PromotionMail(String path) { - this.path = path; - } - - public void execute() throws IOException { - SMTPClient client = new SMTPClient(); - client.sendEmails(false, Emails.createEmails(path)); - } - - - - public static void main(String[] args) { - String path = "I:\\sourceCode\\coding2017_2\\students\\494800949\\src\\main\\java\\ood\\assignment\\srp\\product_promotion.txt"; - PromotionMail mail = new PromotionMail(path); - try { - mail.execute(); - } catch (Exception e) { - System.out.println(e.getMessage()); - } - } -} diff --git a/students/494800949/src/main/java/ood/work/srp/SMTPClient.java b/students/494800949/src/main/java/ood/work/srp/SMTPClient.java deleted file mode 100644 index dda491e029..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/SMTPClient.java +++ /dev/null @@ -1,71 +0,0 @@ -package ood.work.srp; - -import java.util.Iterator; -import java.util.List; - -/** - * Created by Administrator on 2017/6/17 0017. - * - */ -public class SMTPClient { - - private String smtpHost; - private String altSmtpHost; - private String emailAdmin; - - public void config() { - Configuration configuration = new Configuration(); - this.smtpHost = configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - this.altSmtpHost = configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - this.emailAdmin = configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public SMTPClient() { - config(); - } - - /** - * 发送一封邮件 - * @param debug - * @param mailInfo - */ - public void sendEmail(boolean debug, Email mailInfo) { - try - { - if (mailInfo.getToAddress().length() > 0) - MailUtil.sendEmail(mailInfo, emailAdmin, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(mailInfo, emailAdmin, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - - /** - * 发送多封邮件 - */ - - public void sendEmails(boolean debug, List mailingList){ - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - sendEmail(debug, iter.next()); - } - } - else { - System.out.println("没有邮件发送"); - } - } - - - -} diff --git a/students/494800949/src/main/java/ood/work/srp/User.java b/students/494800949/src/main/java/ood/work/srp/User.java deleted file mode 100644 index 091f594199..0000000000 --- a/students/494800949/src/main/java/ood/work/srp/User.java +++ /dev/null @@ -1,25 +0,0 @@ -package ood.work.srp; - -/** - * Created by Administrator on 2017/6/17 0017. - */ -public class User { - private String name; - private String email; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/students/501917623/src/work/Test/Test.java b/students/501917623/src/work/Test/Test.java deleted file mode 100644 index 3da24e1f28..0000000000 --- a/students/501917623/src/work/Test/Test.java +++ /dev/null @@ -1,10 +0,0 @@ -package work.Test; - -public class Test { - - public static void main(String[] args) { - // TODO Auto-generated method stub - System.out.println("hello world"); - } - -} diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/Configuration.java b/students/505217361/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index efd3c58820..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,26 +0,0 @@ -package main.java.com.coderising.ood.srp; - - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} - \ No newline at end of file diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/505217361/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index b927dbac2f..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,10 +0,0 @@ -package main.java.com.coderising.ood.srp; - - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/505217361/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 3f7760a6e7..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package main.java.com.coderising.ood.srp; - - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - - } - - return userList; - } -} diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/505217361/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index f422fd9088..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package main.java.com.coderising.ood.srp; - - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/505217361/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 6796f35858..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,202 +0,0 @@ -package main.java.com.coderising.ood.srp; - - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("E:/product_promotion.txt"); - - - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - System.out.println("进入"); - br = new BufferedReader(new FileReader(file)); - System.out.println("br"); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - - if (toAddress.length() > 0) - // 首选服务器 - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - // 备选服务器 - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/505217361/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/505217361/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/505217361/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/505217361/src/test/java/org/coderising/liteaop/Configuration.java b/students/505217361/src/test/java/org/coderising/liteaop/Configuration.java deleted file mode 100644 index 06dde10147..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/Configuration.java +++ /dev/null @@ -1,55 +0,0 @@ -package test.java.org.coderising.liteaop; - - -import java.util.HashMap; -import java.util.Map; - - -public class Configuration { - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - static Map configurations = new HashMap(); - - - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - protected String setSMTPHost() - { - smtpHost = getProperty(ConfigurationKeys.SMTP_SERVER); - return smtpHost; - } - - - protected String setAltSMTPHost() - { - altSmtpHost = getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - return altSmtpHost; - } - - - protected String setFromAddress() - { - fromAddress = getProperty(ConfigurationKeys.EMAIL_ADMIN); - return fromAddress; - } - - - -} - \ No newline at end of file diff --git a/students/505217361/src/test/java/org/coderising/liteaop/ConfigurationKeys.java b/students/505217361/src/test/java/org/coderising/liteaop/ConfigurationKeys.java deleted file mode 100644 index 8471dcf4a0..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/ConfigurationKeys.java +++ /dev/null @@ -1,12 +0,0 @@ -package test.java.org.coderising.liteaop; - - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/DBUtil.java b/students/505217361/src/test/java/org/coderising/liteaop/DBUtil.java deleted file mode 100644 index 23ec85320d..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/DBUtil.java +++ /dev/null @@ -1,29 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - /* - * 数据库交互类 - * */ - - // 假设这个是获取人员的数据库交互 - public List executeQuery(String sql){ - System.out.println("execute sql "); - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - - User user = new User(); - user.setUsername("User"+i); - user.setEmailadd("aa@bb.com"); - userList.add(user); - - } - - return userList; - - } - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/EmailUtil.java b/students/505217361/src/test/java/org/coderising/liteaop/EmailUtil.java deleted file mode 100644 index 0e1d84fa64..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/EmailUtil.java +++ /dev/null @@ -1,96 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - - - -public class EmailUtil { - - private static final String EMAIL_KEY = "EMAIL"; - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String subject = null; - protected String message = null; - - - - public void sendEmail(List users,Production product){ - boolean debugs = false; - // 获取配置信息 - Configuration config = new Configuration(); - smtpHost = config.setSMTPHost(); - altSmtpHost = config.setAltSMTPHost(); - fromAddress = config.setFromAddress(); - System.out.println("开始发送邮件"); - if(users != null){ - Iterator iter = users.iterator(); - while(iter.hasNext()){ - User user = (User) iter.next(); - String userEmail = user.getEmailadd(); - String userName = user.getUsername(); - - // 获取输入值 - setMessage(userName,product); - - try{ - if(userEmail.length()>0){ - Mail mail = new Mail(); - mail.setFromAddress(fromAddress); - mail.setUserEmail(userEmail); - mail.setSmtpHost(altSmtpHost); - mail.setSubject(subject); - mail.setMessage(message); - - mail.sendEmail(debugs); - - } - }catch(Exception e ){ - try{ - - Mail mail = new Mail(); - mail.setFromAddress(fromAddress); - mail.setUserEmail(userEmail); - mail.setSmtpHost(altSmtpHost); - mail.setSubject(subject); - mail.setMessage(message); - - System.out.println("使用备用服务器地址发送邮件!"); - mail.sendEmail(debugs); - - - }catch(Exception e2){ - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - - - } - }else { - System.out.println("没有邮件发送"); - - } - - - } - - - - protected void setMessage(String username,Production product) - { - - String name = username; - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - - } - - - - - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/Mail.java b/students/505217361/src/test/java/org/coderising/liteaop/Mail.java deleted file mode 100644 index ddb5fa8bc1..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/Mail.java +++ /dev/null @@ -1,80 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; - - - -public class Mail { - String fromAddress; - String userEmail; - String smtpHost; - String subject; - String message; - - - public String getFromAddress() { - return fromAddress; - } - - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - - public String getUserEmail() { - return userEmail; - } - - - public void setUserEmail(String userEmail) { - this.userEmail = userEmail; - } - - - public String getSmtpHost() { - return smtpHost; - } - - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - - public String getSubject() { - return subject; - } - - - public void setSubject(String subject) { - this.subject = subject; - } - - - public String getMessage() { - return message; - } - - - public void setMessage(String message) { - this.message = message; - } - - - public void sendEmail(boolean debug) { - - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(userEmail).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/ProductUtil.java b/students/505217361/src/test/java/org/coderising/liteaop/ProductUtil.java deleted file mode 100644 index 40434158f4..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/ProductUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.io.File; - -public class ProductUtil { - /* - 获取促销产品 - */ - - // 存放产品信息文本 - - Production product ; - - public Production getPromotionalProduct(){ - - // filepath 产品信息路径 - String filepath = "E:/product_promotion.txt"; - - try{ - fileUtil fu = new fileUtil(); - - product = fu.readFile(filepath); - - }catch(Exception e){ - - e.printStackTrace(); - } - - return product; - - } - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/Production.java b/students/505217361/src/test/java/org/coderising/liteaop/Production.java deleted file mode 100644 index c148a98fab..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/Production.java +++ /dev/null @@ -1,20 +0,0 @@ -package test.java.org.coderising.liteaop; - -public class Production { - String productID; - String ProductDesc; - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return ProductDesc; - } - public void setProductDesc(String productDesc) { - ProductDesc = productDesc; - } - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/User.java b/students/505217361/src/test/java/org/coderising/liteaop/User.java deleted file mode 100644 index 683733054b..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/User.java +++ /dev/null @@ -1,21 +0,0 @@ -package test.java.org.coderising.liteaop; - -public class User { - public String username ; - public String emailadd; - public String getUsername() { - return username; - } - public void setUsername(String username) { - this.username = username; - } - public String getEmailadd() { - return emailadd; - } - public void setEmailadd(String emailadd) { - this.emailadd = emailadd; - } - - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/UserUtil.java b/students/505217361/src/test/java/org/coderising/liteaop/UserUtil.java deleted file mode 100644 index 66e4f63e29..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/UserUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class UserUtil { - - // 获取有关注相关产品信息的用户 - public List getSubscriptionUser(String productID){ - String sql = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - DBUtil dbu = new DBUtil(); - List users = dbu.executeQuery(sql); - - System.out.println("loadQuery set"); - return users; - - } - - -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/fileUtil.java b/students/505217361/src/test/java/org/coderising/liteaop/fileUtil.java deleted file mode 100644 index 2bc83a0213..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/fileUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class fileUtil { - - Production product; - - public Production readFile (String filepath) throws IOException // @02C - { - File file_product = new File("E:/product_promotion.txt"); - - BufferedReader br = null; - try { - - br = new BufferedReader(new FileReader(file_product)); - - String temp = br.readLine(); - String[] data = temp.split(" "); - product = new Production(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - return product; - - } -} diff --git a/students/505217361/src/test/java/org/coderising/liteaop/promotionMail.java b/students/505217361/src/test/java/org/coderising/liteaop/promotionMail.java deleted file mode 100644 index 87e1438634..0000000000 --- a/students/505217361/src/test/java/org/coderising/liteaop/promotionMail.java +++ /dev/null @@ -1,26 +0,0 @@ -package test.java.org.coderising.liteaop; - -import java.util.List; - -public class promotionMail { - - public static void main(String[] args) { - // 促销邮件 - - // 促销产品 - ProductUtil pp = new ProductUtil(); - Production product = pp.getPromotionalProduct(); - - // 获得订阅人员 - UserUtil uu = new UserUtil(); - List userlist = uu.getSubscriptionUser(product.getProductID()); - - // 发送邮件 - EmailUtil eu = new EmailUtil(); - eu.sendEmail(userlist,product); - - } - - - -} diff --git a/students/506359831/src/com/coderising/ood/srp/Configuration.java b/students/506359831/src/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/506359831/src/com/coderising/ood/srp/ConfigurationKeys.java b/students/506359831/src/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/506359831/src/com/coderising/ood/srp/DBUtil.java b/students/506359831/src/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/506359831/src/com/coderising/ood/srp/MailUtil.java b/students/506359831/src/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/506359831/src/com/coderising/ood/srp/PromotionMail.java b/students/506359831/src/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/506359831/src/com/coderising/ood/srp/product_promotion.txt b/students/506359831/src/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/506359831/src/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/511134962/ood-assignment/pom.xml b/students/511134962/ood-assignment/pom.xml deleted file mode 100644 index 542d8e08ef..0000000000 --- a/students/511134962/ood-assignment/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index aae91db287..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,147 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp; - -import com.coderising.ood.srp.common.Configuration; -import com.coderising.ood.srp.common.ConfigurationKeys; -import com.coderising.ood.srp.dao.ProductPromotionDAO; -import com.coderising.ood.srp.util.FileUtil; -import com.coderising.ood.srp.util.MailUtil; -import com.coderising.ood.srp.vo.ProductInfo; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail -{ - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - private ProductPromotionDAO productPromotionDAO = new ProductPromotionDAO(); - private Configuration config = new Configuration(); - private ProductInfo productInfo = new ProductInfo(); - private FileUtil fileUtil = new FileUtil(); - private boolean emailDebug = false; - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - private String toAddress = null; - private String subject = null; - private String message = null; - private List< HashMap > mailingList = null; - - - public PromotionMail( File file, boolean mailDebug ) throws Exception - { - this.emailDebug = mailDebug; - readProductInfos( file ); - configuringEMAILSetting(); - mailingList = queryMailingList(); - } - - private void readProductInfos( File file ) throws IOException - {//读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - String[] productInfos = fileUtil.readFile( file ); - productInfo.setProductID( productInfos[ 0 ] ); - productInfo.setProductDesc( productInfos[ 1 ] ); - System.out.println( "产品ID = " + productInfo.getProductID() + "\n" ); - System.out.println( "产品描述 = " + productInfo.getProductDesc() + "\n" ); - } - - private void configuringEMAILSetting() - { - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - private List< HashMap > queryMailingList() throws Exception - { - productPromotionDAO.setLoadQuery( productInfo.getProductID() ); - return productPromotionDAO.loadMailingList(); - } - - protected void setSMTPHost() - { - smtpHost = config.getProperty( ConfigurationKeys.SMTP_SERVER ); - } - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty( ConfigurationKeys.ALT_SMTP_SERVER ); - } - - protected void setFromAddress() - { - fromAddress = config.getProperty( ConfigurationKeys.EMAIL_ADMIN ); - } - - public static void main( String[] args ) throws Exception - { - File productPromotionFile = new File( "D:\\02_workspace\\myproject\\coding2017\\students\\511134962\\ood-assignment\\src\\main\\resources\\product_promotion.txt" ); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail( productPromotionFile, emailDebug ); - pe.sendEMails(); - } - - protected void sendEMails() throws IOException - { - System.out.println( "开始发送邮件" ); - if ( mailingList != null ) - { - Iterator iter = mailingList.iterator(); - while ( iter.hasNext() ) - { - configureEMail( ( HashMap ) iter.next() ); - try - { - if ( toAddress.length() > 0 ) - { - MailUtil.sendEmail( toAddress, fromAddress, subject, message, smtpHost, emailDebug ); - } - } - catch ( Exception e ) - { - try - { - MailUtil.sendEmail( toAddress, fromAddress, subject, message, altSmtpHost, emailDebug ); - } - catch ( Exception e2 ) - { - System.out.println( "通过备用 SMTP服务器发送邮件失败: " + e2.getMessage() ); - } - } - } - } - else - { - System.out.println( "没有邮件发送" ); - } - - } - - protected void configureEMail( HashMap userInfo ) throws IOException - { - toAddress = ( String ) userInfo.get( EMAIL_KEY ); - if ( toAddress.length() > 0 ) - { - setMessage( userInfo ); - } - } - - protected void setMessage( HashMap userInfo ) throws IOException - { - String name = ( String ) userInfo.get( NAME_KEY ); - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productInfo.getProductDesc() + " 降价了,欢迎购买!"; - } - -} diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/Configuration.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/Configuration.java deleted file mode 100644 index 331f204e58..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/Configuration.java +++ /dev/null @@ -1,36 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.common; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration -{ - static Map< String, String > configurations = new HashMap<>(); - static - { - configurations.put( ConfigurationKeys.SMTP_SERVER, "smtp.163.com" ); - configurations.put( ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com" ); - configurations.put( ConfigurationKeys.EMAIL_ADMIN, "admin@company.com" ); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * - * @return - */ - public String getProperty( String key ) - { - return configurations.get( key ); - } - -} diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/ConfigurationKeys.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/ConfigurationKeys.java deleted file mode 100644 index fa6b1ec04a..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/common/ConfigurationKeys.java +++ /dev/null @@ -1,15 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.common; - -public class ConfigurationKeys { - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; -} diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/dao/ProductPromotionDAO.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/dao/ProductPromotionDAO.java deleted file mode 100644 index 62b8c05710..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/dao/ProductPromotionDAO.java +++ /dev/null @@ -1,33 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.dao; - -import com.coderising.ood.srp.util.DBUtil; - -import java.util.HashMap; -import java.util.List; - -public class ProductPromotionDAO -{ - private String sendMailQuery = null; - - public ProductPromotionDAO() { } - - public void setLoadQuery( String productID ) throws Exception - { - sendMailQuery - = "Select name from subscriptions " + "where product_id= '" + productID + "' " + "and send_mail=1 "; - System.out.println( "loadQuery set" ); - } - - public List loadMailingList() throws Exception - { - return DBUtil.query( this.sendMailQuery ); - } -} \ No newline at end of file diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index 832ba0408a..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil -{ - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * - * @return - */ - public static List< HashMap > query( String sql ) - { - List< HashMap > userList = new ArrayList(); - for ( int i = 1; i <= 3; i++ ) - { - HashMap< String, String > userInfo = new HashMap(); - userInfo.put( "NAME", "User" + i ); - userInfo.put( "EMAIL", "aa@bb.com" ); - userList.add( userInfo ); - } - return userList; - } -} diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java deleted file mode 100644 index 963eb72001..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil -{ - public FileUtil() { } - - public String[] readFile( File file ) throws IOException // @02C - { - BufferedReader br = null; - try - { - br = new BufferedReader( new FileReader( file ) ); - String temp = br.readLine(); - String[] data = temp.split( " " ); - br.close(); - return data; - } - catch ( IOException e ) - { - throw new IOException( e.getMessage() ); - } - finally - { - if ( null != br ) - { - br.close(); - } - } - } -} \ No newline at end of file diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index cac1a23f8d..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.util; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/vo/ProductInfo.java b/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/vo/ProductInfo.java deleted file mode 100644 index 3bd52e942d..0000000000 --- a/students/511134962/ood-assignment/src/main/java/com/coderising/ood/srp/vo/ProductInfo.java +++ /dev/null @@ -1,72 +0,0 @@ -/********************************************************************************************************************** - * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit. * - * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan. * - * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna. * - * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus. * - * Vestibulum commodo. Ut rhoncus gravida arcu. * - **********************************************************************************************************************/ - -package com.coderising.ood.srp.vo; - -import java.util.Objects; - -public class ProductInfo -{ - private String productID = null; - private String productDesc = null; - - public ProductInfo() { } - - @Override - public int hashCode() - { - return Objects.hash( getProductID(), getProductDesc() ); - } - - @Override - public boolean equals( Object o ) - { - if ( this == o ) - { - return true; - } - if ( !( o instanceof ProductInfo ) ) - { - return false; - } - ProductInfo that = ( ProductInfo ) o; - return Objects.equals( getProductID(), that.getProductID() ) && Objects.equals( getProductDesc(), - that.getProductDesc() ); - } - - public String getProductID() - { - return productID; - } - - public String getProductDesc() - { - - return productDesc; - } - - public void setProductDesc( String productDesc ) - { - this.productDesc = productDesc; - } - - public void setProductID( String productID ) - { - this.productID = productID; - } - - @Override - public String toString() - { - final StringBuilder sb = new StringBuilder( "ProductInfo{" ); - sb.append( " productDesc='" ).append( productDesc ).append( '\'' ); - sb.append( ", productID='" ).append( productID ).append( '\'' ); - sb.append( '}' ); - return sb.toString(); - } -} \ No newline at end of file diff --git a/students/511134962/ood-assignment/src/main/resources/product_promotion.txt b/students/511134962/ood-assignment/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/511134962/ood-assignment/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/511739113/6.11/ood-assignment/pom.xml b/students/511739113/6.11/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/511739113/6.11/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index bf42021028..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -import com.coderising.ood.srp.bean.Product; -import com.coderising.ood.srp.service.MessageService; -import com.coderising.ood.srp.service.UserService; -import com.coderising.ood.srp.util.FileUtil; - -/** - * 模拟 商品促销通知系统 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月12日 下午11:43:57 -*/ -public class PromotionMail { - - /** 模拟注入userService */ - private UserService userService = new UserService(); - - /** 模拟注入messageService */ - private MessageService messageService = new MessageService(); - - public static void main(String[] args) throws Exception { - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - new PromotionMail(f, emailDebug); - } - - /** - * 商品促销通知系统 - *

标题:

- *

描述:

- * @param file - * @param mailDebug - * @throws Exception - */ - public PromotionMail(File file, boolean mailDebug) throws Exception { - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - Product product = FileUtil.readFile(file); - messageService.sendEMails(mailDebug, userService.queryUserInfo(product.getProductId()),product); - } - - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Message.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Message.java deleted file mode 100644 index 01cd33b04c..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Message.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp.bean; - -/** - * 推送的消息 实体 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午2:01:17 -*/ -public class Message extends ServerBean{ - - /** */ - private static final long serialVersionUID = 3850050693864793038L; - - /** 标题 */ - private String subject; - - /** 消息 */ - private String message; - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java deleted file mode 100644 index ed841c4f72..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp.bean; - -import java.io.Serializable; - -/** - * 商品类 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午12:29:56 -*/ -public class Product implements Serializable{ - - /** */ - private static final long serialVersionUID = 2966621699675433678L; - - /** 商品Id */ - private String productId; - - /** 商品描述 */ - private String productDesc; - - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/ServerBean.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/ServerBean.java deleted file mode 100644 index 948f501f01..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/bean/ServerBean.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.coderising.ood.srp.bean; - -import java.io.Serializable; - -/** - * 服务配置 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午1:22:38 -*/ -public class ServerBean implements Serializable{ - - /** */ - private static final long serialVersionUID = -1842399098772577584L; - - /** 服务器地址 */ - private String smtpHost; - - /** 备用服务器地址 */ - private String altSmtpHost; - - /** 发送地址 */ - private String fromAddress; - - /** 接受地址 */ - private String toAddress; - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/Configuration.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/Configuration.java deleted file mode 100644 index 45cbf41c11..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/Configuration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp.config; -import java.util.HashMap; -import java.util.Map; - -/** - * 配置类,模拟从配置文件中读取参数 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月12日 下午11:44:36 -*/ -public class Configuration { - - private static Map configurations = new HashMap(); - - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java deleted file mode 100644 index 0e8c889f2e..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp.config; - -/** - * 常量类 存放配置文件key - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月12日 下午11:45:43 -*/ -public class ConfigurationKeys { - - /** 服务器地址 */ - public static final String SMTP_SERVER = "smtp.server"; - - /** 备用服务器地址 */ - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - - /** email地址 */ - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/jdbc/UserJDBC.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/jdbc/UserJDBC.java deleted file mode 100644 index b0382b21a8..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/jdbc/UserJDBC.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp.jdbc; - -import java.util.List; - -import com.coderising.ood.srp.util.DBUtil; - -/** - * 用户 jdbc - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午12:51:00 -*/ -public class UserJDBC { - - /** - * 根据商品Id 获取用户信息 - *

方法名称:

- *

方法说明:

- * @param productId - * @return - * @autho zx - * @time 2017年6月13日 上午12:51:14 - */ - public List selectUserId(String sql){ - return DBUtil.query(sql); - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/MessageService.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/MessageService.java deleted file mode 100644 index 61202c0a6f..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/MessageService.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import com.coderising.ood.srp.bean.Message; -import com.coderising.ood.srp.bean.Product; -import com.coderising.ood.srp.config.Configuration; -import com.coderising.ood.srp.config.ConfigurationKeys; -import com.coderising.ood.srp.util.MailUtil; - -/** - * 推送消息 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午1:10:27 -*/ -public class MessageService { - - private static final String EMAIL_KEY = "EMAIL"; - - private static final String NAME_KEY = "NAME"; - - private Configuration configuration = new Configuration(); - - /** - * 推送消息 - *

方法名称:

- *

方法说明:

- * @param debug - * @param mailingList - * @param product - * @throws IOException - * @autho zx - * @time 2017年6月13日 上午1:59:31 - */ - public void sendEMails(boolean debug, List mailingList,Product product) throws IOException{ - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - Message message = configureEMail((HashMap) iter.next(),product.getProductDesc()); - try { - if (message!=null) - MailUtil.sendEmail(message, debug); - }catch (Exception e){ - try { - MailUtil.sendEmail(message, debug); - } catch (Exception e2){ - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - }else { - System.out.println("没有邮件发送"); - } - } - - private Message configureEMail(HashMap userInfo,String productDesc) throws IOException{ - String toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - return getMessage(userInfo,productDesc,toAddress); - return null; - } - - private Message getMessage(HashMap userInfo,String productDesc,String toAddress) throws IOException{ - String name = (String) userInfo.get(NAME_KEY); - Message messageBean = new Message(); - String subject = "您关注的产品降价了"; - String message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - messageBean.setMessage(message); - messageBean.setSubject(subject); - messageBean.setToAddress(toAddress); - messageBean.setAltSmtpHost(configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - messageBean.setSmtpHost(configuration.getProperty(ConfigurationKeys.SMTP_SERVER)); - messageBean.setFromAddress(configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - return messageBean; - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/UserService.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/UserService.java deleted file mode 100644 index 99161f9349..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/service/UserService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.util.List; - -import com.coderising.ood.srp.jdbc.UserJDBC; - -/** - * 用户 service - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午12:53:30 -*/ -public class UserService { - - /** 模拟注入userJDBC */ - private UserJDBC userJDBC = new UserJDBC(); - - /** - * 获取用户信息 - *

方法名称:

- *

方法说明:

- * @param productId - * @return - * @autho zx - * @time 2017年6月13日 上午12:56:45 - */ - public List queryUserInfo(String productId){ - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productId +"' " - + "and send_mail=1 "; - return userJDBC.selectUserId(sendMailQuery); - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index e466fcb0d4..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * 模拟获取数据库 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月12日 下午11:47:21 -*/ -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java deleted file mode 100644 index 01eeef3227..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/FileUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import com.coderising.ood.srp.bean.Product; - -/** - * file工具类 - *

标题:

- *

描述:

- * @autho zx - * @time 2017年6月13日 上午2:04:59 -*/ -public class FileUtil { - - /** - * 读取商品信息 - *

方法名称:

- *

方法说明:

- * @param file - * @return - * @throws IOException - * @autho zx - * @time 2017年6月13日 上午12:39:06 - */ - public static Product readFile(File file) throws IOException{ - BufferedReader br = null; - Product product = new Product(); - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - String productId = data[0]; - String productDesc = data[1]; - product.setProductId(productId); - product.setProductDesc(productDesc); - - System.out.println("产品ID = " + productId + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return product; - } - -} diff --git a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index a7ecb7f213..0000000000 --- a/students/511739113/6.11/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.util; - -import com.coderising.ood.srp.bean.Message; - -/** - * 消息推送工具类 - *

标题:

- *

描述:

- * @autho zhangxu - * @time 2017年6月13日 上午2:03:46 -*/ -public class MailUtil { - - public static void sendEmail(Message message,boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(message.getFromAddress()).append("\n"); - buffer.append("To:").append(message.getToAddress()).append("\n"); - buffer.append("Subject:").append(message.getSubject()).append("\n"); - buffer.append("Content:").append(message.getMessage()).append("\n"); - System.out.println(buffer.toString()); - } - - -} diff --git a/students/513274874/ood/ood-assignment/pom.xml b/students/513274874/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/513274874/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index b4cacc1958..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.constants.ConfigurationKeys; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - - private static Configuration configuration = null; - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - - public static Configuration getInstance(){ - - if(configuration == null) { - return new Configuration(); - } - return configuration; - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - private Configuration() { - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - protected void setSMTPHost() - { - smtpHost = getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - protected void setFromAddress() { - fromAddress = getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public String getSmtpHost() { - return smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 3f7d7bbee9..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.coderising.ood.srp; - -import com.coderising.ood.srp.dto.Mail; -import com.coderising.ood.srp.dto.Product; -import com.coderising.ood.srp.dto.User; -import com.coderising.ood.srp.util.DBUtil; -import com.coderising.ood.srp.util.MailUtil; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - protected Product product = new Product(); - - private static Configuration config; - - public static void main(String[] args) throws Exception { - - File f = new File("/Users/guodongchow/Desktop/coding2017/projects/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - config = Configuration.getInstance(); - - sendEMails(mailDebug, loadMailingList()); - } - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + product.getProductID()); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - protected Mail configureEMail(User user, Product product) throws IOException { - return new Mail(user, product); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"+ ":\n"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - Mail mail = configureEMail((User) iter.next(), product); - if (mail.getToAddress().length() > 0) - MailUtil.sendEmail(mail, config, debug); - } - - } else { - System.out.println("没有邮件发送"); - - } - } -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/constants/ConfigurationKeys.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/constants/ConfigurationKeys.java deleted file mode 100644 index 9932bf60f4..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/constants/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.constants; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Mail.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Mail.java deleted file mode 100644 index e160e39038..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Mail.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.ood.srp.dto; - -import java.io.IOException; - -/** - * Created by guodongchow on 2017/6/15. - */ -public class Mail { - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected void setMessage(User userInfo,Product product) throws IOException - { - - String name = userInfo.getName(); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - - } - - public Mail(User userInfo,Product product){ - try { - setMessage(userInfo,product); - } catch (IOException e) { - e.printStackTrace(); - } - toAddress = userInfo.getMailAddress(); - } - - public String getToAddress() { - return toAddress; - } - - public String getSubject() { - return subject; - } - - public String getMessage() { - return message; - } -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Product.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Product.java deleted file mode 100644 index 0684794a72..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/Product.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp.dto; - -/** - * Created by guodongchow on 2017/6/15. - */ -public class Product { - - String productID; - String productDesc; - - public void setProductID(String productID) - { - this.productID = productID; - - } - - public void setProductDesc(String desc) { - this.productDesc = desc; - } - - - public String getProductID() { - return productID; - } - - public String getProductDesc() { - return productDesc; - } -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/User.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/User.java deleted file mode 100644 index 89b98d226d..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/dto/User.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp.dto; - -/** - * Created by guodongchow on 2017/6/15. - */ -public class User { - String name; - String mailAddress; - - public User(String name, String mailAddress) { - this.name = name; - this.mailAddress = mailAddress; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getMailAddress() { - return mailAddress; - } - - public void setMailAddress(String mailAddress) { - this.mailAddress = mailAddress; - } -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index d2848fe5b1..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.ood.srp.util; - -import com.coderising.ood.srp.dto.Product; -import com.coderising.ood.srp.dto.User; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - protected String sendMailQuery = null; - /** - * 应该从数据库读, 但是简化为直接生成。 - * @return - */ - public static List query(){ - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - - userList.add(new User("User"+i,"aa@bb.com")); - } - - return userList; - } - - protected void setLoadQuery( Product product) throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"+ "\n"); - } - - - -} diff --git a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index 5d6ec25bbb..0000000000 --- a/students/513274874/ood/ood-assignment/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp.util; - -import com.coderising.ood.srp.Configuration; -import com.coderising.ood.srp.dto.Mail; - -public class MailUtil { - - public static void sendEmail(Mail mail,Configuration config, - boolean debug) { - - StringBuilder buffer = new StringBuilder(); - try { - //假装发了一封邮件 - buffer.append("With SmtpHost:").append(config.getSmtpHost()).append("\n"); - - }catch (Exception e){ - try { - //假装发了一封邮件 - buffer.append("With AltSmtpHost:").append(config.getAltSmtpHost()).append(":\n"); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - - buffer.append("From:").append(config.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/515868058/.gitignore b/students/515868058/.gitignore deleted file mode 100644 index d1651ea2f6..0000000000 --- a/students/515868058/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -/target/ -/bin/ -.classpath -.project -/.project -.idea/libraries/Maven__junit_junit_4_12.xml -.idea/libraries/Maven__org_apache_ant_ant_1_9_6.xml -.idea/libraries/Maven__org_apache_ant_ant_launcher_1_9_6.xml -.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml -.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml -.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_24.xml -.idea/sonarlint/ -.idea/workspace.xml -logfile.log -logfile1.log -/.idea/ diff --git a/students/515868058/ood-assignment/pom.xml b/students/515868058/ood-assignment/pom.xml deleted file mode 100644 index 1a0471dccc..0000000000 --- a/students/515868058/ood-assignment/pom.xml +++ /dev/null @@ -1,44 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index fcaa1dd3e2..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - - userList.add(new UserInfo("User" + i, "aa@bb.com")); - } - - return userList; - } -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index 32571d3505..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by James on 6/15/2017. - */ -public class Mail { - - private Configuration config; - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - - public Mail(Configuration config) { - this.config =config; - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - - } - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public void sendEmail(String toAddress, String subject, String message, boolean debug) throws Exception { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - - - } - - public void sendAltEmail(String toAddress, String subject, String message, boolean debug) throws Exception{ - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - } -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 820f63cacd..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by James on 6/16/2017. - */ -public class Product { - - - private String productID = null; - private String productDesc = null; - - public Product(String id, String desc) { - this.productID = id; - this.productDesc = desc; - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public static Product buildProduct(File file) throws IOException { - - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - return new Product(data[0], data[1]); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - } -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index c61f0afdbc..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -public class PromotionMail { - private Product product; - private Mail mail = null; - private List mailList; - - - public static void main(String[] args) throws Exception { - - File f = new File(PromotionMail.class.getClassLoader().getResource("product_promotion.txt").getPath()); - - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - pe.sendEMails(emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - mail = new Mail(new Configuration()); - product = Product.buildProduct(file); - - } - - - public void sendEMails(boolean debug) throws IOException { - - System.out.println("开始发送邮件"); - if (getMailList() != null) { - getMailList().forEach( - userInfo -> { - if (userInfo.getEmail().length() > 0) { - try { - mail.sendEmail(userInfo.getEmail(), getSubject(), getMessage(userInfo.getName(), getProduct().getProductDesc()), debug); - } catch (Exception e) { - try { - mail.sendAltEmail(userInfo.getEmail(), getSubject(), getMessage(userInfo.getName(), getProduct().getProductDesc()), debug); - } catch (Exception e1) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e1.getMessage()); - } - } - } - } - ); - } else { - System.out.println("没有邮件发送"); - } - - - } - - private String getSubject() { - return "您关注的产品降价了"; - } - - private String getMessage(String username, String productDesc) { - return "尊敬的 " + username + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - } - - public List getMailList() { - if (mailList == null) { - try { - return loadMailingList(loadQuery(getProduct().getProductID())); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } else { - return this.mailList; - } - } - - public Product getProduct() { - return product; - } - - public void setProduct(Product product) { - this.product = product; - } - - private String loadQuery(String productID) throws Exception { - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - return sendMailQuery; - } - - - private List loadMailingList(String queryString) throws Exception { - return DBUtil.query(queryString); - } - -} diff --git a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java b/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java deleted file mode 100644 index 8bbd72f035..0000000000 --- a/students/515868058/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by James on 6/15/2017. - */ -public class UserInfo { - - private String name; - private String email; - - public UserInfo(String name, String email){ - this.name = name; - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/students/515868058/ood-assignment/src/main/resources/product_promotion.txt b/students/515868058/ood-assignment/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/515868058/ood-assignment/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/542194147/pom.xml b/students/542194147/pom.xml deleted file mode 100644 index dfd96c3362..0000000000 --- a/students/542194147/pom.xml +++ /dev/null @@ -1,6 +0,0 @@ - - 4.0.0 - com.coding2017 - season2 - 0.0.1-SNAPSHOT - \ No newline at end of file diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/config/Configuration.java b/students/542194147/src/main/java/com/coderising/ood/srp/config/Configuration.java deleted file mode 100644 index 8474097a7e..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/config/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.config; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java b/students/542194147/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java deleted file mode 100644 index 7fe226d1bd..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.config; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/domain/Email.java b/students/542194147/src/main/java/com/coderising/ood/srp/domain/Email.java deleted file mode 100644 index 85b73ef7a4..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/domain/Email.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coderising.ood.srp.domain; - -import java.io.Serializable; -/** - * 邮件实体类 - * @author 小摩托 - * - */ -public class Email implements Serializable { - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - private String toAddress = null; - private String subject = null; - private String message = null; - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } - - -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/domain/Product.java b/students/542194147/src/main/java/com/coderising/ood/srp/domain/Product.java deleted file mode 100644 index 9976f9f09c..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/domain/Product.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp.domain; - -import java.io.Serializable; - -/** - * 产品实体类 - * @author 小摩托 - * - */ -public class Product implements Serializable { - - private String productID = null; - private String productDesc = null; - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/542194147/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/service/NoticeService.java b/students/542194147/src/main/java/com/coderising/ood/srp/service/NoticeService.java deleted file mode 100644 index 53aa4b77d5..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/service/NoticeService.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import com.coderising.ood.srp.config.Configuration; -import com.coderising.ood.srp.config.ConfigurationKeys; -import com.coderising.ood.srp.domain.Email; -import com.coderising.ood.srp.domain.Product; -import com.coderising.ood.srp.util.DBUtil; -import com.coderising.ood.srp.util.FileUtil; -import com.coderising.ood.srp.util.MailUtil; - -/** - * 消息发布接口 - * @author 小摩托 - * - */ -public class NoticeService { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - private static Configuration config = new Configuration();; - - public void sendEMails(File file, boolean mailDebug) throws IOException - { - - String[] data=FileUtil.readFile(file); - Product product=new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() +"' " - + "and send_mail=1 "; - List list=DBUtil.query(sendMailQuery); - System.out.println("开始发送邮件"); - Email email=new Email(); - if (list != null) { - Iterator iter = list.iterator(); - while (iter.hasNext()) { - Map userInfo=(HashMap) iter.next(); - String toAddress = (String)userInfo.get(EMAIL_KEY); - email.setToAddress(toAddress); - email.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - email.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - email.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - if (toAddress.length() > 0){ - String name = (String)userInfo.get(NAME_KEY); - email.setSubject("您关注的产品降价了"); - email.setMessage("尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"); - } - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(email); - } - catch (Exception e) - { - try { - MailUtil.sendEmail(email); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - else { - System.out.println("没有邮件发送"); - - } - - } - public static void main(String[] args) throws Exception { - - File f = new File("C:\\Users\\john\\Documents\\GitHub\\coding2017-2ndSeason\\students\\542194147\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - boolean emailDebug = false; - NoticeService ns = new NoticeService(); - ns.sendEMails(f, emailDebug); - - } -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/542194147/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index 886477c678..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa"+i+"@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/util/FileUtil.java b/students/542194147/src/main/java/com/coderising/ood/srp/util/FileUtil.java deleted file mode 100644 index 035ec8749f..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/util/FileUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - - public static String[] readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - return data; - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/542194147/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/542194147/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index 817ca96466..0000000000 --- a/students/542194147/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coderising.ood.srp.util; - -import com.coderising.ood.srp.domain.Email; - -public class MailUtil { - - public static void sendEmail(Email email) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(email.getFromAddress()).append("\n"); - buffer.append("To:").append(email.getToAddress()).append("\n"); - buffer.append("Subject:").append(email.getSubject()).append("\n"); - buffer.append("Content:").append(email.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/549739951/src/main/java/srp/Main.java b/students/549739951/src/main/java/srp/Main.java deleted file mode 100644 index 617f64e3ee..0000000000 --- a/students/549739951/src/main/java/srp/Main.java +++ /dev/null @@ -1,58 +0,0 @@ -package srp; - -import srp.model.Product; -import srp.model.User; -import srp.service.ProductService; -import srp.service.PromotionService; -import srp.service.UserService; -import srp.util.RandomUtils; - -import java.util.List; - -/** - * @version V1.0 - * @Title: Main - * @Package: srp - * @Description: 主程序 - * @author: 南来 - * @date: 2017-06-12 9:22 - */ -public class Main { - - /** - * //TODO 写的crud项目太多,作业越写越懵逼,最后我也不知道写成啥了,也不知道是否符合SRP原则。。。总之……欢迎老师和同学们批评指正! - */ - public static void main(String[] args) throws InterruptedException { - //模拟业务场景 - for (; ; ) { - start(); - Thread.sleep(Long.parseLong(RandomUtils.randomNumber(3))); - } - } - - private static void start() { - //region 模拟自动装配 - UserService userService = new UserService(); - ProductService productService = new ProductService(); - PromotionService promotionService = new PromotionService(); - //endregion - - // 1 遍历商品 是否降价 - List products = productService.getProduct(); - if (null != products) { - for (Product product : products) { - // 2 商品降价 - if (product.getDown()) { - // 3 获取所有关注这个产品的用户 - List watchProductUsers = userService.getWatchProductUsers(product.getId()); - if (null != watchProductUsers && watchProductUsers.size() > 0) - // 4 发送促销邮件 - for (User user : watchProductUsers) - promotionService.promotionMail(user.getName(), user.getEmail(), product.getDesc()); - } - } - } - - //TODO 以上代码有明显线程问题。。。大家无视就好。。。。。¯\_(ツ)_/¯ - } -} diff --git a/students/549739951/src/main/java/srp/config/Config.java b/students/549739951/src/main/java/srp/config/Config.java deleted file mode 100644 index df81a97584..0000000000 --- a/students/549739951/src/main/java/srp/config/Config.java +++ /dev/null @@ -1,21 +0,0 @@ -package srp.config; - -/** - * @version V1.0 - * @Title: Config - * @Package: srp.config - * @Description: 配置对象 模拟读取配置文件 //todo 或者应该封装成对象? - * @author: 南来 - * @date: 2017-06-12 9:21 - */ -public class Config { - /** - * 主邮件服务器 - */ - public static final String smtpHost = "smtp.server"; - /** - * 备用邮件服务器 - */ - public static final String altSmtpHost = "alt.smtp.server"; - -} diff --git a/students/549739951/src/main/java/srp/config/Constant.java b/students/549739951/src/main/java/srp/config/Constant.java deleted file mode 100644 index 33983c7c05..0000000000 --- a/students/549739951/src/main/java/srp/config/Constant.java +++ /dev/null @@ -1,26 +0,0 @@ -package srp.config; - -/** - * @version V1.0 - * @Title: Constant - * @Package: srp.config - * @Description: 存放项目常量,避免写死代码,便于后期维护。 - * @author: 南来 - * @date: 2017-06-12 9:17 - */ -public class Constant { - /** - * from address - */ - public static final String EMAIL_ADMIN = "email.admin"; - - /** - * 促销邮件主题 - */ - public static final String SUBJECT = "您关注的产品降价了"; - - /** - * 促销邮件内容 - */ - public static final String MESSAGE = "尊敬的 %s, 您关注的产品 %s 降价了,欢迎购买!"; -} diff --git a/students/549739951/src/main/java/srp/dao/DB.java b/students/549739951/src/main/java/srp/dao/DB.java deleted file mode 100644 index 0b273333b6..0000000000 --- a/students/549739951/src/main/java/srp/dao/DB.java +++ /dev/null @@ -1,86 +0,0 @@ -package srp.dao; - -import srp.model.Product; -import srp.model.User; -import srp.util.RandomUtils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * @version V1.0 - * @Title: DB - * @Package: srp.dao - * @Description: 伪dao层 持续输出数据 没有细分每个对象单独dao层的部分 - * @author: 南来 - * @date: 2017-06-12 9:20 - */ -public class DB { - - /** - * 模拟在数据库中查询用户 - * - * @return 所有用户 - */ - public List getUsers() { - List users = new ArrayList<>(); - for (int i = 0; i < 10; i++) { - User user = new User(); - user.setName(RandomUtils.randomName()); - user.setEmail(RandomUtils.randomMail()); - //region 模拟关注商品 - try { - List products = getProducts(); - if (null != products && products.size() > 0) - user.setWatchProductId(RandomUtils.randomOne(products).getId()); - } catch (IOException e) { - e.printStackTrace(); - } - //endregion - users.add(user); - } - return users; - } - - /** - * @param productId 商品id - * @return 所有关注该商品的用户集 - */ - public List getWatchProductUsers(String productId) { - if (0 == productId.length()) return null; - List users = getUsers(); - List temp = new ArrayList<>(); - for (User user : users) { - if (null != user.getWatchProductId() && productId.equals(user.getWatchProductId())) - temp.add(user); - } - return temp; - } - - /** - * 模拟在数据库中查询商品 - * - * @return 所有商品 - */ - public List getProducts() throws IOException { - List products = new ArrayList<>(); - try (BufferedReader br = new BufferedReader(new FileReader(new File("D:\\product_promotion.txt")))) { - String temp; - while (null != (temp = br.readLine())) { - String[] data = temp.split(" "); - Product product = new Product(); - product.setId(data[0]); - product.setDesc(data[1]); - //region 模拟降价 - product.setDown(RandomUtils.randomBoolean()); - //endregion - products.add(product); - } - } - return products; - } -} diff --git a/students/549739951/src/main/java/srp/model/Email.java b/students/549739951/src/main/java/srp/model/Email.java deleted file mode 100644 index a316b6cd57..0000000000 --- a/students/549739951/src/main/java/srp/model/Email.java +++ /dev/null @@ -1,71 +0,0 @@ -package srp.model; - -/** - * @version V1.0 - * @Title: Email - * @Package: srp.model - * @Description: Email 对象 - * @author: 南来 - * @date: 2017-06-12 10:32 - */ -public class Email { - - /** - * from address - */ - private String from; - /** - * to address - */ - private String to; - /** - * 主题 - */ - private String subject; - /** - * 内容 - */ - private String content; - - public String getFrom() { - return from; - } - - public void setFrom(String from) { - this.from = from; - } - - public String getTo() { - return to; - } - - public void setTo(String to) { - this.to = to; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - - @Override - public String toString() { - return "Email{" + - "from='" + from + '\'' + - ", to='" + to + '\'' + - ", subject='" + subject + '\'' + - ", content='" + content + '\'' + - '}'; - } -} diff --git a/students/549739951/src/main/java/srp/model/Product.java b/students/549739951/src/main/java/srp/model/Product.java deleted file mode 100644 index 6a6cfab5ab..0000000000 --- a/students/549739951/src/main/java/srp/model/Product.java +++ /dev/null @@ -1,58 +0,0 @@ -package srp.model; - -/** - * @version V1.0 - * @Title: Product - * @Package: srp.model - * @Description: 商品对象 - * @author: 南来 - * @date: 2017-06-12 9:46 - */ -public class Product { - - /** - * 商品主键 - */ - private String Id; - /** - * 商品描述 - */ - private String Desc; - /** - * 是否降价 - */ - private boolean down; - - public String getId() { - return Id; - } - - public void setId(String id) { - Id = id; - } - - public String getDesc() { - return Desc; - } - - public void setDesc(String desc) { - Desc = desc; - } - - public boolean getDown() { - return down; - } - - public void setDown(boolean down) { - this.down = down; - } - - @Override - public String toString() { - return "Product{" + - "Id='" + Id + '\'' + - ", Desc='" + Desc + '\'' + - ", down='" + down + '\'' + - '}'; - } -} diff --git a/students/549739951/src/main/java/srp/model/User.java b/students/549739951/src/main/java/srp/model/User.java deleted file mode 100644 index f45c818979..0000000000 --- a/students/549739951/src/main/java/srp/model/User.java +++ /dev/null @@ -1,58 +0,0 @@ -package srp.model; - -/** - * @version V1.0 - * @Title: User - * @Package: srp.model - * @Description: 用户对象 - * @author: 南来 - * @date: 2017-06-12 10:07 - */ -public class User { - - /** - * 用户名 - */ - private String name; - /** - * e-mail - */ - private String email; - /** - * 关注的商品Id - */ - private String watchProductId; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getWatchProductId() { - return watchProductId; - } - - public void setWatchProductId(String watchProductId) { - this.watchProductId = watchProductId; - } - - @Override - public String toString() { - return "User{" + - "name='" + name + '\'' + - ", email='" + email + '\'' + - ", watchProductId='" + watchProductId + '\'' + - '}'; - } -} diff --git a/students/549739951/src/main/java/srp/service/MailService.java b/students/549739951/src/main/java/srp/service/MailService.java deleted file mode 100644 index 60c79117db..0000000000 --- a/students/549739951/src/main/java/srp/service/MailService.java +++ /dev/null @@ -1,36 +0,0 @@ -package srp.service; - -import srp.model.Email; -import srp.util.MailUtil; - -import static srp.config.Config.altSmtpHost; -import static srp.config.Config.smtpHost; - -/** - * @version V1.0 - * @Title: MailService - * @Package: srp.service - * @Description: e-mail服务类 省去接口部分 - * @author: 南来 - * @date: 2017-06-12 10:26 - */ -public class MailService { - - /** - * 负责发送邮件对象 - * - * @param email email对象 - */ - public void send(Email email) { - if (MailUtil.send(email, smtpHost)) { - System.out.println(String.format("ServerHost: %s , 邮件内容: %s ", smtpHost, email)); - } else { - System.out.println("主邮件服务器发送失败,尝试使用备用服务器发送……"); - if (MailUtil.send(email, altSmtpHost)) { - System.out.println(String.format("ServerHost: %s , 邮件内容: %s ", altSmtpHost, email)); - } else { - System.err.println("使用备用服务器发送失败……(╯°Д°)╯︵┻━┻"); - } - } - } -} diff --git a/students/549739951/src/main/java/srp/service/ProductService.java b/students/549739951/src/main/java/srp/service/ProductService.java deleted file mode 100644 index bcc10ee362..0000000000 --- a/students/549739951/src/main/java/srp/service/ProductService.java +++ /dev/null @@ -1,35 +0,0 @@ -package srp.service; - -import srp.dao.DB; -import srp.model.Product; - -import java.io.IOException; -import java.util.List; - -/** - * @version V1.0 - * @Title: ProductService - * @Package: srp.service - * @Description: 商品service - * @author: 南来 - * @date: 2017-06-12 11:11 - */ -public class ProductService { - - //模拟自动装配 - private DB db = new DB(); - - /** - * 获取所有商品 - * - * @return 所有商品 - */ - public List getProduct() { - try { - return db.getProducts(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/students/549739951/src/main/java/srp/service/PromotionService.java b/students/549739951/src/main/java/srp/service/PromotionService.java deleted file mode 100644 index f888d3d673..0000000000 --- a/students/549739951/src/main/java/srp/service/PromotionService.java +++ /dev/null @@ -1,46 +0,0 @@ -package srp.service; - -import srp.config.Constant; -import srp.model.Email; - -/** - * @version V1.0 - * @Title: PromotionService - * @Package: srp.service - * @Description: Promotion服务类 省去接口部分 - * @author: 南来 - * @date: 2017-06-12 10:24 - */ -public class PromotionService { - - private MailService mailService = new MailService(); - - /** - * 发送促销邮件 - * - * @param name - * @param toAddress 邮箱地址 - * @param desc - */ - public void promotionMail(String name, String toAddress, String desc) { - mailService.send(build(name, toAddress, desc)); - } - - /** - * 构建Email对象 - * - * @param name 姓名 - * @param toAddress 邮箱地址 - * @param desc 商品描述 - * @return Email对象 - */ - private Email build(String name, String toAddress, String desc) { - Email email = new Email(); - email.setFrom(Constant.EMAIL_ADMIN); - email.setTo(toAddress); - email.setSubject(Constant.SUBJECT); - email.setContent(String.format(Constant.MESSAGE, name, desc)); - return email; - } - -} diff --git a/students/549739951/src/main/java/srp/service/UserService.java b/students/549739951/src/main/java/srp/service/UserService.java deleted file mode 100644 index 96f9d42bfb..0000000000 --- a/students/549739951/src/main/java/srp/service/UserService.java +++ /dev/null @@ -1,36 +0,0 @@ -package srp.service; - -import srp.dao.DB; -import srp.model.User; - -import java.util.List; - -/** - * @version V1.0 - * @Title: UserService - * @Package: srp.service - * @Description: User服务类 省去接口部分 - * @author: 南来 - * @date: 2017-06-12 10:25 - */ -public class UserService { - //模拟自动装配 - private DB db = new DB(); - - /** - * 获取所有用户 - * - * @return 所有用户 - */ - protected List getUser() { - return db.getUsers(); - } - - /** - * @param productId 商品id - * @return 所有关注该商品的用户集 - */ - public List getWatchProductUsers(String productId) { - return db.getWatchProductUsers(productId); - } -} diff --git a/students/549739951/src/main/java/srp/util/MailUtil.java b/students/549739951/src/main/java/srp/util/MailUtil.java deleted file mode 100644 index 5bb87b37d7..0000000000 --- a/students/549739951/src/main/java/srp/util/MailUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package srp.util; - -import srp.model.Email; - -/** - * @version V1.0 - * @Title: MailUtil - * @Package: srp.util - * @Description: 邮件工具类 - * @author: 南来 - * @date: 2017-06-12 10:50 - */ -public class MailUtil { - - /** - * 模拟发送 随机失败 - * - * @param email email - * @param serverHost 邮件服务配置 - * @return 成功失败 - */ - public static boolean send(Email email, String serverHost) { - return RandomUtils.randomBoolean(); - } -} diff --git a/students/549739951/src/main/java/srp/util/RandomUtils.java b/students/549739951/src/main/java/srp/util/RandomUtils.java deleted file mode 100644 index caa37fb99a..0000000000 --- a/students/549739951/src/main/java/srp/util/RandomUtils.java +++ /dev/null @@ -1,61 +0,0 @@ -package srp.util; - -import java.io.UnsupportedEncodingException; -import java.util.List; -import java.util.Random; - -/** - * @version V1.0 - * @Title: RandomUtils - * @Package: srp.util - * @Description: 随机工具类 - * @author: 南来 - * @date: 2017-06-12 13:04 - */ -public class RandomUtils { - - public static boolean randomBoolean() { - return new Random().nextBoolean(); - } - - public static Exception randomException() { - if (RandomUtils.randomBoolean()) - return new RuntimeException(); - return null; - } - - public static String randomMail() { - return randomNumber(9) + "@qq.com"; - } - - public static T randomOne(List list) { - return list.get(new Random().nextInt(list.size())); - } - - public static String randomNumber(int length) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < length; i++) - sb.append(new Random().nextInt(10)); - return sb.toString(); - } - - public static String randomName() { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < 3; i++) { - int highCode, lowCode; - - highCode = (176 + Math.abs(new Random().nextInt(39))); - lowCode = (161 + Math.abs(new Random().nextInt(93))); - - byte[] b = new byte[]{(Integer.valueOf(highCode)).byteValue() - , (Integer.valueOf(lowCode)).byteValue()}; - - try { - sb.append(new String(b, "GBK")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return sb.toString(); - } -} diff --git a/students/549739951/src/main/resources/product_promotion.txt b/students/549739951/src/main/resources/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/549739951/src/main/resources/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/550727632/pom.xml b/students/550727632/pom.xml deleted file mode 100644 index 3483fcca18..0000000000 --- a/students/550727632/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ - - 4.0.0 - com.codering.ood - coderising - 0.0.1-SNAPSHOT - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - org.apache.commons - commons-lang3 - 3.4 - - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - \ No newline at end of file diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/Configuration.java b/students/550727632/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/550727632/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/550727632/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 3b73afe420..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List query(String sql) { - - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - User user = new User("User" + i, "aa@bb.com"); - userList.add(user); - } - - return userList; - } - - public static List loadProductUsers(Product product){ - String sql = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() +"' " - + "and send_mail=1 "; - return query(sql); - } -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/FileUtil.java b/students/550727632/src/main/java/com/coderising/ood/srp/FileUtil.java deleted file mode 100644 index 0054feb8e0..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/FileUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - - public static Product readProductFile(File file) throws IOException { - BufferedReader br = null; - Product product = new Product(); - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - System.out.println(product.toString()); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return product; - } -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/550727632/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index a61ab7e52c..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -public class MailUtil { - - private static String fromAddress; - private static String smtpHost; - private static String altSmtpHost; - - static { - Configuration config = new Configuration(); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - - public static void sendPromotionEmail(PromotionMail mail, Product product, boolean debug) { - System.out.println("开始发送邮件"); - List userList = DBUtil.loadProductUsers(product); - if(userList != null && !userList.isEmpty()){ - for (User user : userList) { - mail.setMessage(user, product); - if (StringUtils.isNotEmpty(user.getEmail())){ - sendEmail(mail.getSubject(), mail.getMessage(), user.getEmail(), debug); - } - } - } else { - System.out.println("没有需要发送的邮件"); - } - } - - public static void sendEmail(String subject, String message,String toAddress,boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - // 先用smtpHost发送 - // 如果失败用altSmtpHost发送 - // 如果还失败,则记录日志 - try { - buffer.append("smtpHost:").append(smtpHost).append("\n"); - } catch (Exception e) { - try { - buffer.append("smtpHost:").append(altSmtpHost).append("\n"); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - System.out.println(buffer.toString()); - } -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/Product.java b/students/550727632/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index fd107fa4f4..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - - private String productID; - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - @Override - public String toString() { - return "Product [productID=" + productID + ", productDesc=" + productDesc + "]"; - } - -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/550727632/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 23d48b0ae1..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -public class PromotionMail { - private String subject; - private String message; - - public PromotionMail() { - subject = "您关注的产品降价了"; - } - - public static void main(String[] args) throws Exception { - File f = new File("src/main/java/com/coderising/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - Product product = FileUtil.readProductFile(f); - PromotionMail mail = new PromotionMail(); - MailUtil.sendPromotionEmail(mail, product, emailDebug); - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public void setMessage(User user, Product product) { - message = "尊敬的 " + user.getName() + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - } - - public String getMessage() { - return message; - } - -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/User.java b/students/550727632/src/main/java/com/coderising/ood/srp/User.java deleted file mode 100644 index b63f655e7c..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -public class User { - - private String name; - private String email; - - public User() { - super(); - } - - public User(String name, String email) { - super(); - this.name = name; - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - -} diff --git a/students/550727632/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/550727632/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/550727632/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/DateUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/DateUtil.java deleted file mode 100644 index d8bbcd124c..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/DateUtil.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class DateUtil { -public static String getCurrentDateAsString() { - - return null; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/Logger.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/Logger.java deleted file mode 100644 index be360ccdd4..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/Logger.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public interface Logger { - - public void send(String msg); -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/LoggerManagement.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/LoggerManagement.java deleted file mode 100644 index c658bd33ea..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/LoggerManagement.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -import java.util.ArrayList; -import java.util.List; - -public class LoggerManagement { - - public void log(String msg){ - - List rawlog = new ArrayList(); - for (RawLogger r : rawlog){ - r.log(msg); - } - - List logger = new ArrayList(); - for (Logger l : logger){ - l.send(msg); - } - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/MailUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/MailUtil.java deleted file mode 100644 index 8cfd91064d..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/MailUtil.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class MailUtil implements Logger{ - public void send(String logMsg) { - // TODO Auto-generated method stub - - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/PrintUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/PrintUtil.java deleted file mode 100644 index d83397c1d6..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/PrintUtil.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class PrintUtil implements Logger{ - public void send(String logMsg) { - // TODO Auto-generated method stub - - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLog.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLog.java deleted file mode 100644 index ad6cbb7510..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLog.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class RawLog implements RawLogger{ - public void log(String msg){ - String logMsg = msg; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogWithDate.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogWithDate.java deleted file mode 100644 index f9640769ee..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogWithDate.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class RawLogWithDate implements RawLogger{ - public void log(String msg){ - String txtDate = DateUtil.getCurrentDateAsString(); - String logMsg = txtDate + ": " + msg; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogger.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogger.java deleted file mode 100644 index d4ad9eacd3..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/RawLogger.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public interface RawLogger { - public void log(String msg); -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/SMSUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/SMSUtil.java deleted file mode 100644 index 82eb15bed9..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/ocp/SMSUtil.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.orajavac.coding2017.ood.ocp; - -public class SMSUtil implements Logger{ - public void send(String logMsg) { - // TODO Auto-generated method stub - - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Configuration.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Configuration.java deleted file mode 100644 index bf9902bf99..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/ConfigurationKeys.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 94eb56e6e4..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/DBUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/DBUtil.java deleted file mode 100644 index 528ff9321d..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/DBUtil.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - public static void setLoadQuery(String productID) throws Exception { - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/FileUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/FileUtil.java deleted file mode 100644 index 14f6443bbf..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/FileUtil.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class FileUtil { - public static Product readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - Product p = new Product(); - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - p.setProductID(data[0]); - p.setProductDesc(data[1]); - - System.out.println("产品ID = " + p.getProductID() + "\n"); - System.out.println("产品描述 = " + p.getProductDesc() + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return p; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Mail.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Mail.java deleted file mode 100644 index 46f5a92db1..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Mail.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -import java.io.IOException; -import java.util.HashMap; - -public class Mail { - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - private String toAddress = null; - private String subject = null; - private String message = null; - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/MailUtil.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/MailUtil.java deleted file mode 100644 index aa16293062..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/MailUtil.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class MailUtil { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - public static String setSMTPHost(Configuration config) - { - return config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - public static String setAltSMTPHost(Configuration config) - { - return config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - public static String setFromAddress(Configuration config) - { - return config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public static void setMessage(HashMap userInfo,Product p,Mail mail) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - mail.setSubject("您关注的产品降价了"); - - String message = "尊敬的 "+name+", 您关注的产品 " + p.getProductDesc() + " 降价了,欢迎购买!" ; - mail.setMessage(message); - - - } - - public static void sendEMails(boolean debug, List mailingList,Product p,Mail mail) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - HashMap userInfo = (HashMap) iter.next(); - String toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo,p,mail); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, mail.getFromAddress(), mail.getSubject(), mail.getMessage(), mail.getSmtpHost(), debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, mail.getFromAddress(), mail.getSubject(), mail.getMessage(), mail.getAltSmtpHost(), debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } - -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Product.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Product.java deleted file mode 100644 index 02345d790c..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/Product.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -public class Product { - private String productID = null; - private String productDesc = null; - public String getProductID() { - return productID; - } - public void setProductID(String productID) { - this.productID = productID; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/PromotionMail.java b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/PromotionMail.java deleted file mode 100644 index 53e7e27471..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/PromotionMail.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.github.orajavac.coding2017.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected Mail mail = new Mail(); - - - - private static Configuration config; - - - - - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - Product p = FileUtil.readFile(file); - - - config = new Configuration(); - - mail.setSmtpHost(MailUtil.setSMTPHost(config)); - mail.setAltSmtpHost(MailUtil.setAltSMTPHost(config)); - - - mail.setFromAddress(MailUtil.setFromAddress(config)); - - - DBUtil.setLoadQuery(p.getProductID()); - - MailUtil.sendEMails(mailDebug, loadMailingList(),p,mail); - - - } - - - - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } -} diff --git a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/product_promotion.txt b/students/562768642/src/com/github/orajavac/coding2017/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/562768642/src/com/github/orajavac/coding2017/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/582161208/ood-assignment/pom.xml b/students/582161208/ood-assignment/pom.xml deleted file mode 100644 index a24289ffac..0000000000 --- a/students/582161208/ood-assignment/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - org.projectlombok - lombok - 1.14.8 - - - org.apache.commons - commons-lang3 - 3.1 - - - commons-collections - commons-collections - 3.2 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 3985daf8b5..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 0a96deeb98..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index cf0b00a917..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java deleted file mode 100644 index 8a82cad4f2..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -import lombok.Data; - -/** - * 邮件基本信息 - * - * @author ida 2017/6/12 - */ -@Data -public class MailInfo { - - private String smtpHost; - - private String altSmtpHost; - - private String fromAddress; - - private String toAddress; - - private String subject; - - private String message; - -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 06005966e7..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java deleted file mode 100644 index 0d77a94f91..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfo.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp; - -import lombok.Data; - -/** - * 产品信息 - * - * @author ida 2017/6/12 - */ -@Data -public class ProductInfo { - - /** 产品id */ - private String productId; - /** 产品描述 */ - private String productDesc; -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 0df36f30c9..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; - -/** - * 邮件发送处理类 - * - * @author ida 2017/6/12 - */ -public class PromotionMail { - - protected static String sendMailQuery = ""; - - private static Configuration config; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - /** - * 发送邮件公有方法 - * - * @param file - * @param mailDebug - */ - public void sendMails(File file, boolean mailDebug) { - try { - config = new Configuration(); - sendEMails(file, mailDebug); - } catch (IOException e) { - System.out.println(e.getMessage()); - } - } - - /** - * 发送邮件 - * - * @param file - * @param debug - * @throws IOException - */ - private static void sendEMails(File file, boolean debug) throws IOException { - - ProductInfo product = readFile(file); - - MailInfo mailInfo = setMailInfo(); - - System.out.println("开始发送邮件"); - - List mailingList = DBUtil.query(sendMailQuery); - if (CollectionUtils.isNotEmpty(mailingList)) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - MailInfo newMail = configureEMail((HashMap) iter.next(), mailInfo, product); - try { - if (StringUtils.isNotBlank(newMail.getToAddress())) - sendMail(mailInfo, debug); - } catch (Exception e) { - try { - sendMail(mailInfo, debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } else { - System.out.println("没有邮件发送"); - } - - } - - /** - * 设置邮件部分信息 - * - * @return - */ - private static MailInfo setMailInfo() { - MailInfo mailInfo = new MailInfo(); - mailInfo.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mailInfo.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mailInfo.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - return mailInfo; - } - - /** - * 设置邮件message - * - * @param userInfo - * @param mailInfo - * @param product - * @return - * @throws IOException - */ - private static MailInfo setMessage(HashMap userInfo, MailInfo mailInfo, ProductInfo product) - throws IOException { - String name = (String) userInfo.get(NAME_KEY); - mailInfo.setSubject("您关注的产品降价了"); - mailInfo.setMessage("尊敬的 " + name + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"); - return mailInfo; - } - - /** - * 读取文件 - * - * @param file - * @return - * @throws IOException - */ - private static ProductInfo readFile(File file) throws IOException { - ProductInfo product = setProductInfo(file); - System.out.println("产品ID = " + product.getProductId() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - sendMailQuery = "Select name from subscriptions " + "where product_id= '" + product.getProductId() + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - return product; - } - - /** - * 设置peoduct信息 - * - * @param file - * @return - * @throws IOException - */ - private static ProductInfo setProductInfo(File file) throws IOException { - ProductInfo product = null; - BufferedReader br = null; - try { - product = new ProductInfo(); - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - product.setProductId(data[0]); - product.setProductDesc(data[1]); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return product; - } - - /** - * 读取邮件数据 - * - * @param userInfo - * @param mailInfo - * @param product - * @return - * @throws IOException - */ - private static MailInfo configureEMail(HashMap userInfo, MailInfo mailInfo, ProductInfo product) - throws IOException { - String toAddress = (String) userInfo.get(EMAIL_KEY); - mailInfo.setToAddress(toAddress); - if (toAddress.length() > 0) - return setMessage(userInfo, mailInfo, product); - return mailInfo; - } - - private static void sendMail(MailInfo mailInfo, Boolean debug) { - MailUtil.sendEmail(mailInfo.getToAddress(), mailInfo.getFromAddress(), mailInfo.getSubject(), - mailInfo.getMessage(), mailInfo.getSmtpHost(), debug); - } - - public static void main(String[] args) throws Exception { - File file = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); -// File file = new File("/Users/myhome/Desktop/product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(); - pe.sendMails(file, emailDebug); - } - -} diff --git a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/582161208/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/592146505/data-structure/assignment/pom.xml b/students/592146505/data-structure/assignment/pom.xml deleted file mode 100644 index 5024466d17..0000000000 --- a/students/592146505/data-structure/assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ds-assignment - 0.0.1-SNAPSHOT - jar - - ds-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java deleted file mode 100644 index 900a3ad358..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/DownloadThread.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; - -public class DownloadThread extends Thread{ - - Connection conn; - int startPos; - int endPos; - - public DownloadThread( Connection conn, int startPos, int endPos){ - - this.conn = conn; - this.startPos = startPos; - this.endPos = endPos; - } - public void run(){ - - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java deleted file mode 100644 index c3c8a3f27d..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloader.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; - - -public class FileDownloader { - - String url; - - DownloadListener listener; - - ConnectionManager cm; - - - public FileDownloader(String _url) { - this.url = _url; - - } - - public void execute(){ - // 在这里实现你的代码, 注意: 需要用多线程实现下载 - // 这个类依赖于其他几个接口, 你需要写这几个接口的实现代码 - // (1) ConnectionManager , 可以打开一个连接,通过Connection可以读取其中的一段(用startPos, endPos来指定) - // (2) DownloadListener, 由于是多线程下载, 调用这个类的客户端不知道什么时候结束,所以你需要实现当所有 - // 线程都执行完以后, 调用listener的notifiedFinished方法, 这样客户端就能收到通知。 - // 具体的实现思路: - // 1. 需要调用ConnectionManager的open方法打开连接, 然后通过Connection.getContentLength方法获得文件的长度 - // 2. 至少启动3个线程下载, 注意每个线程需要先调用ConnectionManager的open方法 - // 然后调用read方法, read方法中有读取文件的开始位置和结束位置的参数, 返回值是byte[]数组 - // 3. 把byte数组写入到文件中 - // 4. 所有的线程都下载完成以后, 需要调用listener的notifiedFinished方法 - - // 下面的代码是示例代码, 也就是说只有一个线程, 你需要改造成多线程的。 - Connection conn = null; - try { - - conn = cm.open(this.url); - - int length = conn.getContentLength(); - - new DownloadThread(conn,0,length-1).start(); - - } catch (ConnectionException e) { - e.printStackTrace(); - }finally{ - if(conn != null){ - conn.close(); - } - } - - - - - } - - public void setListener(DownloadListener listener) { - this.listener = listener; - } - - - - public void setConnectionManager(ConnectionManager ucm){ - this.cm = ucm; - } - - public DownloadListener getListener(){ - return this.listener; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java deleted file mode 100644 index 4ff7f46ae0..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/FileDownloaderTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.download; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; -import com.coderising.download.impl.ConnectionManagerImpl; - -public class FileDownloaderTest { - boolean downloadFinished = false; - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testDownload() { - - String url = "http://localhost:8080/test.jpg"; - - FileDownloader downloader = new FileDownloader(url); - - - ConnectionManager cm = new ConnectionManagerImpl(); - downloader.setConnectionManager(cm); - - downloader.setListener(new DownloadListener() { - @Override - public void notifyFinished() { - downloadFinished = true; - } - - }); - - - downloader.execute(); - - // 等待多线程下载程序执行完毕 - while (!downloadFinished) { - try { - System.out.println("还没有下载完成,休眠五秒"); - //休眠5秒 - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - System.out.println("下载完成!"); - - - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java deleted file mode 100644 index 0957eaf7f4..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/Connection.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.download.api; - -import java.io.IOException; - -public interface Connection { - /** - * 给定开始和结束位置, 读取数据, 返回值是字节数组 - * @param startPos 开始位置, 从0开始 - * @param endPos 结束位置 - * @return - */ - public byte[] read(int startPos,int endPos) throws IOException; - /** - * 得到数据内容的长度 - * @return - */ - public int getContentLength(); - - /** - * 关闭连接 - */ - public void close(); -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java deleted file mode 100644 index 1551a80b3d..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionException.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public class ConnectionException extends Exception { - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java deleted file mode 100644 index ce045393b1..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/ConnectionManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.download.api; - -public interface ConnectionManager { - /** - * 给定一个url , 打开一个连接 - * @param url - * @return - */ - public Connection open(String url) throws ConnectionException; -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java deleted file mode 100644 index bf9807b307..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/api/DownloadListener.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public interface DownloadListener { - public void notifyFinished(); -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java deleted file mode 100644 index 36a9d2ce15..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.download.impl; - -import java.io.IOException; - -import com.coderising.download.api.Connection; - -public class ConnectionImpl implements Connection{ - - @Override - public byte[] read(int startPos, int endPos) throws IOException { - - return null; - } - - @Override - public int getContentLength() { - - return 0; - } - - @Override - public void close() { - - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java deleted file mode 100644 index 172371dd55..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.download.impl; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; - -public class ConnectionManagerImpl implements ConnectionManager { - - @Override - public Connection open(String url) throws ConnectionException { - - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java deleted file mode 100644 index dcdbe226ed..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/LoginAction.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.litestruts; - -/** - * 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。 - * @author liuxin - * - */ -public class LoginAction{ - private String name ; - private String password; - private String message; - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - public String execute(){ - if("test".equals(name) && "1234".equals(password)){ - this.message = "login successful"; - return "success"; - } - this.message = "login failed,please check your user/pwd"; - return "fail"; - } - - public void setName(String name){ - this.name = name; - } - public void setPassword(String password){ - this.password = password; - } - public String getMessage(){ - return this.message; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java deleted file mode 100644 index 85e2e22de3..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/Struts.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - - - -public class Struts { - - public static View runAction(String actionName, Map parameters) { - - /* - - 0. 读取配置文件struts.xml - - 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - - 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - - 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - - 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - - */ - - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java deleted file mode 100644 index b8c81faf3c..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/StrutsTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.litestruts; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; - - - - - -public class StrutsTest { - - @Test - public void testLoginActionSuccess() { - - String actionName = "login"; - - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); - Assert.assertEquals("login successful", view.getParameters().get("message")); - } - - @Test - public void testLoginActionFailed() { - String actionName = "login"; - Map params = new HashMap(); - params.put("name","test"); - params.put("password","123456"); //密码和预设的不一致 - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); - Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java deleted file mode 100644 index 07df2a5dab..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/View.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - -public class View { - private String jsp; - private Map parameters; - - public String getJsp() { - return jsp; - } - public View setJsp(String jsp) { - this.jsp = jsp; - return this; - } - public Map getParameters() { - return parameters; - } - public View setParameters(Map parameters) { - this.parameters = parameters; - return this; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml b/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml deleted file mode 100644 index e5d9aebba8..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/litestruts/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java deleted file mode 100644 index 436d092f58..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Course.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - - - public boolean equals(Object o){ - if(o == null || !(o instanceof Course)){ - return false; - } - Course c = (Course)o; - return (c != null) && c.id.equals(id); - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java deleted file mode 100644 index ab8c764584..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseOffering.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public int getMaxStudents() { - return maxStudents; - } - - public List getStudents() { - return students; - } - - public Course getCourse() { - return course; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java deleted file mode 100644 index 8c34bad0c3..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/CourseService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.course.bad; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //如果学生上过该科目的先修科目,并且该课程还未满, 则学生可以加入该课程 - if(student.getCoursesAlreadyTaken().containsAll( - sc.getCourse().getPrerequisites()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java deleted file mode 100644 index a651923ef5..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/bad/Student.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java deleted file mode 100644 index aefc9692bb..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Course.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - -} - - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java deleted file mode 100644 index 8660ec8109..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseOffering.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public List getStudents() { - return students; - } - public int getMaxStudents() { - return maxStudents; - } - public Course getCourse() { - return course; - } - - - // 第二步: 把主要逻辑移动到CourseOffering 中 - public void addStudent(Student student){ - - if(student.canAttend(course) - && this.maxStudents > students.size()){ - students.add(student); - } - } - // 第三步: 重构CourseService -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java deleted file mode 100644 index 22ba4a5450..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/CourseService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.good; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //第一步:重构: canAttend , 但是还有问题 - if(student.canAttend(sc.getCourse()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java deleted file mode 100644 index 2c7e128b2a..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/course/good/Student.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } - - public boolean canAttend(Course course){ - return this.coursesAlreadyTaken.containsAll( - course.getPrerequisites()); - } -} - - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java deleted file mode 100644 index b6cf28c096..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class DateUtil { - - public static String getCurrentDateAsString() { - - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java deleted file mode 100644 index 0357c4d912..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/Logger.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood.ocp; - -public class Logger { - - public final int RAW_LOG = 1; - public final int RAW_LOG_WITH_DATE = 2; - public final int EMAIL_LOG = 1; - public final int SMS_LOG = 2; - public final int PRINT_LOG = 3; - - int type = 0; - int method = 0; - - public Logger(int logType, int logMethod){ - this.type = logType; - this.method = logMethod; - } - public void log(String msg){ - - String logMsg = msg; - - if(this.type == RAW_LOG){ - logMsg = msg; - } else if(this.type == RAW_LOG_WITH_DATE){ - String txtDate = DateUtil.getCurrentDateAsString(); - logMsg = txtDate + ": " + msg; - } - - if(this.method == EMAIL_LOG){ - MailUtil.send(logMsg); - } else if(this.method == SMS_LOG){ - SMSUtil.send(logMsg); - } else if(this.method == PRINT_LOG){ - System.out.println(logMsg); - } - } -} - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java deleted file mode 100644 index 13cf802418..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/SMSUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class SMSUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/List.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/List.java deleted file mode 100644 index 10d13b5832..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/List.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index, Object o); - public Object get(int index); - public Object remove(int index); - public int size(); -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java deleted file mode 100644 index 4576c016af..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayList.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class ArrayList implements List { - - private int size = 0; - - private Object[] elementData = new Object[100]; - - public void add(Object o){ - - } - public void add(int index, Object o){ - - } - - public Object get(int index){ - return null; - } - - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java deleted file mode 100644 index 45740e6d57..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/array/ArrayUtil.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.coding.basic.array; - -public class ArrayUtil { - - /** - * 给定一个整形数组a , 对该数组的值进行置换 - 例如: a = [7, 9 , 30, 3] , 置换后为 [3, 30, 9,7] - 如果 a = [7, 9, 30, 3, 4] , 置换后为 [4,3, 30 , 9,7] - * @param origin - * @return - */ - public void reverseArray(int[] origin){ - - } - - /** - * 现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} - * 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: - * {1,3,4,5,6,6,5,4,7,6,7,5} - * @param oldArray - * @return - */ - - public int[] removeZero(int[] oldArray){ - return null; - } - - /** - * 给定两个已经排序好的整形数组, a1和a2 , 创建一个新的数组a3, 使得a3 包含a1和a2 的所有元素, 并且仍然是有序的 - * 例如 a1 = [3, 5, 7,8] a2 = [4, 5, 6,7] 则 a3 为[3,4,5,6,7,8] , 注意: 已经消除了重复 - * @param array1 - * @param array2 - * @return - */ - - public int[] merge(int[] array1, int[] array2){ - return null; - } - /** - * 把一个已经存满数据的数组 oldArray的容量进行扩展, 扩展后的新数据大小为oldArray.length + size - * 注意,老数组的元素在新数组中需要保持 - * 例如 oldArray = [2,3,6] , size = 3,则返回的新数组为 - * [2,3,6,0,0,0] - * @param oldArray - * @param size - * @return - */ - public int[] grow(int [] oldArray, int size){ - return null; - } - - /** - * 斐波那契数列为:1,1,2,3,5,8,13,21...... ,给定一个最大值, 返回小于该值的数列 - * 例如, max = 15 , 则返回的数组应该为 [1,1,2,3,5,8,13] - * max = 1, 则返回空数组 [] - * @param max - * @return - */ - public int[] fibonacci(int max){ - return null; - } - - /** - * 返回小于给定最大值max的所有素数数组 - * 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19] - * @param max - * @return - */ - public int[] getPrimes(int max){ - return null; - } - - /** - * 所谓“完数”, 是指这个数恰好等于它的因子之和,例如6=1+2+3 - * 给定一个最大值max, 返回一个数组, 数组中是小于max 的所有完数 - * @param max - * @return - */ - public int[] getPerfectNumbers(int max){ - return null; - } - - /** - * 用seperator 把数组 array给连接起来 - * 例如array= [3,8,9], seperator = "-" - * 则返回值为"3-8-9" - * @param array - * @param s - * @return - */ - public String join(int[] array, String seperator){ - return null; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrame.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrame.java deleted file mode 100644 index 994a241a3d..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrame.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.linklist; - - -public class LRUPageFrame { - - private static class Node { - - Node prev; - Node next; - int pageNum; - - Node() { - } - } - - private int capacity; - - private int currentSize; - private Node first;// 链表头 - private Node last;// 链表尾 - - - public LRUPageFrame(int capacity) { - this.currentSize = 0; - this.capacity = capacity; - - } - - /** - * 获取缓存中对象 - * - * @param key - * @return - */ - public void access(int pageNum) { - - - } - - - public String toString(){ - StringBuilder buffer = new StringBuilder(); - Node node = first; - while(node != null){ - buffer.append(node.pageNum); - - node = node.next; - if(node != null){ - buffer.append(","); - } - } - return buffer.toString(); - } - - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java deleted file mode 100644 index 7fd72fc2b4..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic.linklist; - -import org.junit.Assert; - -import org.junit.Test; - - -public class LRUPageFrameTest { - - @Test - public void testAccess() { - LRUPageFrame frame = new LRUPageFrame(3); - frame.access(7); - frame.access(0); - frame.access(1); - Assert.assertEquals("1,0,7", frame.toString()); - frame.access(2); - Assert.assertEquals("2,1,0", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(3); - Assert.assertEquals("3,0,2", frame.toString()); - frame.access(0); - Assert.assertEquals("0,3,2", frame.toString()); - frame.access(4); - Assert.assertEquals("4,0,3", frame.toString()); - frame.access(5); - Assert.assertEquals("5,4,0", frame.toString()); - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java deleted file mode 100644 index f4c7556a2e..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/linklist/LinkedList.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.coding.basic.linklist; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class LinkedList implements List { - - private Node head; - - public void add(Object o){ - - } - public void add(int index , Object o){ - - } - public Object get(int index){ - return null; - } - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public void addFirst(Object o){ - - } - public void addLast(Object o){ - - } - public Object removeFirst(){ - return null; - } - public Object removeLast(){ - return null; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - } - - /** - * 把该链表逆置 - * 例如链表为 3->7->10 , 逆置后变为 10->7->3 - */ - public void reverse(){ - - } - - /** - * 删除一个单链表的前半部分 - * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 - * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 - - */ - public void removeFirstHalf(){ - - } - - /** - * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 - * @param i - * @param length - */ - public void remove(int i, int length){ - - } - /** - * 假定当前链表和listB均包含已升序排列的整数 - * 从当前链表中取出那些listB所指定的元素 - * 例如当前链表 = 11->101->201->301->401->501->601->701 - * listB = 1->3->4->6 - * 返回的结果应该是[101,301,401,601] - * @param list - */ - public int[] getElements(LinkedList list){ - return null; - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 从当前链表中中删除在listB中出现的元素 - - * @param list - */ - - public void subtract(LinkedList list){ - - } - - /** - * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) - */ - public void removeDuplicateValues(){ - - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) - * @param min - * @param max - */ - public void removeRange(int min, int max){ - - } - - /** - * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) - * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 - * @param list - */ - public LinkedList intersection( LinkedList list){ - return null; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/CircleQueue.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/CircleQueue.java deleted file mode 100644 index 2e0550c67e..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/CircleQueue.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coding.basic.queue; - -/** - * 用数组实现循环队列 - * @author liuxin - * - * @param - */ -public class CircleQueue { - - private final static int DEFAULT_SIZE = 10; - - //用数组来保存循环队列的元素 - private Object[] elementData = new Object[DEFAULT_SIZE] ; - - //队头 - private int front = 0; - //队尾 - private int rear = 0; - - public boolean isEmpty() { - return false; - - } - - public int size() { - return -1; - } - - - - public void enQueue(E data) { - - } - - public E deQueue() { - return null; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Josephus.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Josephus.java deleted file mode 100644 index 6a3ea639b9..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Josephus.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.queue; - -import java.util.List; - -/** - * 用Queue来实现Josephus问题 - * 在这个古老的问题当中, N个深陷绝境的人一致同意用这种方式减少生存人数: N个人围成一圈(位置记为0到N-1), 并且从第一个人报数, 报到M的人会被杀死, 直到最后一个人留下来 - * 该方法返回一个List, 包含了被杀死人的次序 - * @author liuxin - * - */ -public class Josephus { - - public static List execute(int n, int m){ - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java deleted file mode 100644 index 7d90318b51..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/JosephusTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coding.basic.queue; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class JosephusTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testExecute() { - - Assert.assertEquals("[1, 3, 5, 0, 4, 2, 6]", Josephus.execute(7, 2).toString()); - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java deleted file mode 100644 index c4c4b7325e..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/Queue.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.coding.basic.queue; - -import java.util.NoSuchElementException; - -public class Queue { - private Node first; - private Node last; - private int size; - - - private static class Node { - private E item; - private Node next; - } - - - public Queue() { - first = null; - last = null; - size = 0; - } - - - public boolean isEmpty() { - return first == null; - } - - public int size() { - return size; - } - - - - public void enQueue(E data) { - Node oldlast = last; - last = new Node(); - last.item = data; - last.next = null; - if (isEmpty()) { - first = last; - } - else{ - oldlast.next = last; - } - size++; - } - - public E deQueue() { - if (isEmpty()) { - throw new NoSuchElementException("Queue underflow"); - } - E item = first.item; - first = first.next; - size--; - if (isEmpty()) { - last = null; - } - return item; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java deleted file mode 100644 index cef19a8b59..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.coding.basic.queue; - -import java.util.Stack; - -/** - * 用两个栈来实现一个队列 - * @author liuxin - * - * @param - */ -public class QueueWithTwoStacks { - private Stack stack1; - private Stack stack2; - - - public QueueWithTwoStacks() { - stack1 = new Stack(); - stack2 = new Stack(); - } - - - - - public boolean isEmpty() { - return false; - } - - - - public int size() { - return -1; - } - - - - public void enQueue(E item) { - - } - - public E deQueue() { - return null; - } - - - - } - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/QuickMinStack.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/QuickMinStack.java deleted file mode 100644 index f391d92b8f..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/QuickMinStack.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coding.basic.stack; - -/** - * 设计一个栈,支持栈的push和pop操作,以及第三种操作findMin, 它返回改数据结构中的最小元素 - * finMin操作最坏的情形下时间复杂度应该是O(1) , 简单来讲,操作一次就可以得到最小值 - * @author liuxin - * - */ -public class QuickMinStack { - public void push(int data){ - - } - public int pop(){ - return -1; - } - public int findMin(){ - return -1; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java deleted file mode 100644 index fedb243604..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/Stack.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.basic.stack; - -import com.coding.basic.array.ArrayList; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtil.java deleted file mode 100644 index b0ec38161d..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtil.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.coding.basic.stack; -import java.util.Stack; -public class StackUtil { - - - - /** - * 假设栈中的元素是Integer, 从栈顶到栈底是 : 5,4,3,2,1 调用该方法后, 元素次序变为: 1,2,3,4,5 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - */ - public static void reverse(Stack s) { - - - - } - - /** - * 删除栈中的某个元素 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * - * @param o - */ - public static void remove(Stack s,Object o) { - - } - - /** - * 从栈顶取得len个元素, 原来的栈中元素保持不变 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * @param len - * @return - */ - public static Object[] getTop(Stack s,int len) { - return null; - } - /** - * 字符串s 可能包含这些字符: ( ) [ ] { }, a,b,c... x,yz - * 使用堆栈检查字符串s中的括号是不是成对出现的。 - * 例如s = "([e{d}f])" , 则该字符串中的括号是成对出现, 该方法返回true - * 如果 s = "([b{x]y})", 则该字符串中的括号不是成对出现的, 该方法返回false; - * @param s - * @return - */ - public static boolean isValidPairs(String s){ - return false; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtilTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtilTest.java deleted file mode 100644 index 76f2cb7668..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtilTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.coding.basic.stack; - -import java.util.Stack; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -public class StackUtilTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - - @Test - public void testReverse() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - Assert.assertEquals("[1, 2, 3, 4, 5]", s.toString()); - StackUtil.reverse(s); - Assert.assertEquals("[5, 4, 3, 2, 1]", s.toString()); - } - - @Test - public void testRemove() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - StackUtil.remove(s, 2); - Assert.assertEquals("[1, 3]", s.toString()); - } - - @Test - public void testGetTop() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - { - Object[] values = StackUtil.getTop(s, 3); - Assert.assertEquals(5, values[0]); - Assert.assertEquals(4, values[1]); - Assert.assertEquals(3, values[2]); - } - } - - @Test - public void testIsValidPairs() { - Assert.assertTrue(StackUtil.isValidPairs("([e{d}f])")); - Assert.assertFalse(StackUtil.isValidPairs("([b{x]y})")); - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java deleted file mode 100644 index d0ab4387d2..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coding.basic.stack; - - -public class StackWithTwoQueues { - - - public void push(int data) { - - } - - public int pop() { - return -1; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java deleted file mode 100644 index e86d056a24..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.stack; - -/** - * 用一个数组实现两个栈 - * 将数组的起始位置看作是第一个栈的栈底,将数组的尾部看作第二个栈的栈底,压栈时,栈顶指针分别向中间移动,直到两栈顶指针相遇,则扩容。 - * @author liuxin - * - */ -public class TwoStackInOneArray { - Object[] data = new Object[10]; - - /** - * 向第一个栈中压入元素 - * @param o - */ - public void push1(Object o){ - - } - /** - * 从第一个栈中弹出元素 - * @return - */ - public Object pop1(){ - return null; - } - - /** - * 获取第一个栈的栈顶元素 - * @return - */ - - public Object peek1(){ - return null; - } - /* - * 向第二个栈压入元素 - */ - public void push2(Object o){ - - } - /** - * 从第二个栈弹出元素 - * @return - */ - public Object pop2(){ - return null; - } - /** - * 获取第二个栈的栈顶元素 - * @return - */ - - public Object peek2(){ - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExpr.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExpr.java deleted file mode 100644 index ef85ff007f..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExpr.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coding.basic.stack.expr; - -public class InfixExpr { - String expr = null; - - public InfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java deleted file mode 100644 index 20e34e8852..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class InfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - //InfixExpr expr = new InfixExpr("300*20+12*5-20/4"); - { - InfixExpr expr = new InfixExpr("2+3*4+5"); - Assert.assertEquals(19.0, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("3*20+12*5-40/2"); - Assert.assertEquals(100.0, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("3*20/2"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("20/2*3"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("10-30+50"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("10-2*3+50"); - Assert.assertEquals(54, expr.evaluate(), 0.001f); - } - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java deleted file mode 100644 index 96a2194a67..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; - -public class InfixToPostfix { - - public static List convert(String expr) { - - return null; - } - - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java deleted file mode 100644 index dcbb18be4b..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PostfixExpr { -String expr = null; - - public PostfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java deleted file mode 100644 index c0435a2db5..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - - - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class PostfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - PostfixExpr expr = new PostfixExpr("6 5 2 3 + 8 * + 3 + *"); - Assert.assertEquals(288, expr.evaluate(),0.0f); - } - { - //9+(3-1)*3+10/2 - PostfixExpr expr = new PostfixExpr("9 3 1-3*+ 10 2/+"); - Assert.assertEquals(20, expr.evaluate(),0.0f); - } - - { - //10-2*3+50 - PostfixExpr expr = new PostfixExpr("10 2 3 * - 50 +"); - Assert.assertEquals(54, expr.evaluate(),0.0f); - } - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java deleted file mode 100644 index 956927e2df..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PrefixExpr { - String expr = null; - - public PrefixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java deleted file mode 100644 index 5cec210e75..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class PrefixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - // 2*3+4*5 - PrefixExpr expr = new PrefixExpr("+ * 2 3* 4 5"); - Assert.assertEquals(26, expr.evaluate(),0.001f); - } - { - // 4*2 + 6+9*2/3 -8 - PrefixExpr expr = new PrefixExpr("-++6/*2 9 3 * 4 2 8"); - Assert.assertEquals(12, expr.evaluate(),0.001f); - } - { - //(3+4)*5-6 - PrefixExpr expr = new PrefixExpr("- * + 3 4 5 6"); - Assert.assertEquals(29, expr.evaluate(),0.001f); - } - { - //1+((2+3)*4)-5 - PrefixExpr expr = new PrefixExpr("- + 1 * + 2 3 4 5"); - Assert.assertEquals(16, expr.evaluate(),0.001f); - } - - - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java deleted file mode 100644 index 8579743fe9..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/Token.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -class Token { - public static final List OPERATORS = Arrays.asList("+", "-", "*", "/"); - private static final Map priorities = new HashMap<>(); - static { - priorities.put("+", 1); - priorities.put("-", 1); - priorities.put("*", 2); - priorities.put("/", 2); - } - static final int OPERATOR = 1; - static final int NUMBER = 2; - String value; - int type; - public Token(int type, String value){ - this.type = type; - this.value = value; - } - - public boolean isNumber() { - return type == NUMBER; - } - - public boolean isOperator() { - return type == OPERATOR; - } - - public int getIntValue() { - return Integer.valueOf(value).intValue(); - } - public String toString(){ - return value; - } - - public boolean hasHigherPriority(Token t){ - if(!this.isOperator() && !t.isOperator()){ - throw new RuntimeException("numbers can't compare priority"); - } - return priorities.get(this.value) - priorities.get(t.value) > 0; - } - - - -} \ No newline at end of file diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java deleted file mode 100644 index d3b0f167e1..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParser.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.ArrayList; -import java.util.List; - -public class TokenParser { - - - public List parse(String expr) { - List tokens = new ArrayList<>(); - - int i = 0; - - while (i < expr.length()) { - - char c = expr.charAt(i); - - if (isOperator(c)) { - - Token t = new Token(Token.OPERATOR, String.valueOf(c)); - tokens.add(t); - i++; - - } else if (Character.isDigit(c)) { - - int nextOperatorIndex = indexOfNextOperator(i, expr); - String value = expr.substring(i, nextOperatorIndex); - Token t = new Token(Token.NUMBER, value); - tokens.add(t); - i = nextOperatorIndex; - - } else{ - System.out.println("char :["+c+"] is not number or operator,ignore"); - i++; - } - - } - return tokens; - } - - private int indexOfNextOperator(int i, String expr) { - - while (Character.isDigit(expr.charAt(i))) { - i++; - if (i == expr.length()) { - break; - } - } - return i; - - } - - private boolean isOperator(char c) { - String sc = String.valueOf(c); - return Token.OPERATORS.contains(sc); - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java deleted file mode 100644 index 399d3e857e..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - -import static org.junit.Assert.*; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class TokenParserTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - - TokenParser parser = new TokenParser(); - List tokens = parser.parse("300*20+12*5-20/4"); - - Assert.assertEquals(300, tokens.get(0).getIntValue()); - Assert.assertEquals("*", tokens.get(1).toString()); - Assert.assertEquals(20, tokens.get(2).getIntValue()); - Assert.assertEquals("+", tokens.get(3).toString()); - Assert.assertEquals(12, tokens.get(4).getIntValue()); - Assert.assertEquals("*", tokens.get(5).toString()); - Assert.assertEquals(5, tokens.get(6).getIntValue()); - Assert.assertEquals("-", tokens.get(7).toString()); - Assert.assertEquals(20, tokens.get(8).getIntValue()); - Assert.assertEquals("/", tokens.get(9).toString()); - Assert.assertEquals(4, tokens.get(10).getIntValue()); - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTree.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTree.java deleted file mode 100644 index 4536ee7a2b..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTree.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; - -import com.coding.basic.queue.Queue; - -public class BinarySearchTree { - - BinaryTreeNode root; - public BinarySearchTree(BinaryTreeNode root){ - this.root = root; - } - public BinaryTreeNode getRoot(){ - return root; - } - public T findMin(){ - return null; - } - public T findMax(){ - return null; - } - public int height() { - return -1; - } - public int size() { - return -1; - } - public void remove(T e){ - - } - public List levelVisit(){ - - return null; - } - public boolean isValid(){ - return false; - } - public T getLowestCommonAncestor(T n1, T n2){ - return null; - - } - /** - * 返回所有满足下列条件的节点的值: n1 <= n <= n2 , n 为 - * 该二叉查找树中的某一节点 - * @param n1 - * @param n2 - * @return - */ - public List getNodesBetween(T n1, T n2){ - return null; - } - -} - diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java deleted file mode 100644 index 4a53dbe2f1..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinarySearchTreeTest { - - BinarySearchTree tree = null; - - @Before - public void setUp() throws Exception { - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(1); - root.left.right = new BinaryTreeNode(4); - root.left.right.left = new BinaryTreeNode(3); - root.left.right.right = new BinaryTreeNode(5); - tree = new BinarySearchTree(root); - } - - @After - public void tearDown() throws Exception { - tree = null; - } - - @Test - public void testFindMin() { - Assert.assertEquals(1, tree.findMin().intValue()); - - } - - @Test - public void testFindMax() { - Assert.assertEquals(8, tree.findMax().intValue()); - } - - @Test - public void testHeight() { - Assert.assertEquals(4, tree.height()); - } - - @Test - public void testSize() { - Assert.assertEquals(7, tree.size()); - } - - @Test - public void testRemoveLeaf() { - tree.remove(3); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(4, root.left.right.data.intValue()); - - } - @Test - public void testRemoveMiddleNode1() { - tree.remove(4); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(5, root.left.right.data.intValue()); - Assert.assertEquals(3, root.left.right.left.data.intValue()); - } - @Test - public void testRemoveMiddleNode2() { - tree.remove(2); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(3, root.left.data.intValue()); - Assert.assertEquals(4, root.left.right.data.intValue()); - } - - @Test - public void testLevelVisit() { - List values = tree.levelVisit(); - Assert.assertEquals("[6, 2, 8, 1, 4, 3, 5]", values.toString()); - - } - @Test - public void testLCA(){ - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 5).intValue()); - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 4).intValue()); - Assert.assertEquals(6,tree.getLowestCommonAncestor(3, 8).intValue()); - } - @Test - public void testIsValid() { - - Assert.assertTrue(tree.isValid()); - - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(4); - root.left.right = new BinaryTreeNode(1); - root.left.right.left = new BinaryTreeNode(3); - tree = new BinarySearchTree(root); - - Assert.assertFalse(tree.isValid()); - } - @Test - public void testGetNodesBetween(){ - List numbers = this.tree.getNodesBetween(3, 8); - System.out.println(numbers.toString()); - - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeNode.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeNode.java deleted file mode 100644 index c1421cd398..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeNode.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.tree; - -public class BinaryTreeNode { - - public T data; - public BinaryTreeNode left; - public BinaryTreeNode right; - - public BinaryTreeNode(T data){ - this.data=data; - } - public T getData() { - return data; - } - public void setData(T data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java deleted file mode 100644 index b033cbe1d5..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -public class BinaryTreeUtil { - /** - * 用递归的方式实现对二叉树的前序遍历, 需要通过BinaryTreeUtilTest测试 - * - * @param root - * @return - */ - public static List preOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - - /** - * 用递归的方式实现对二叉树的中遍历 - * - * @param root - * @return - */ - public static List inOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - - /** - * 用递归的方式实现对二叉树的后遍历 - * - * @param root - * @return - */ - public static List postOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - /** - * 用非递归的方式实现对二叉树的前序遍历 - * @param root - * @return - */ - public static List preOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - - return result; - } - /** - * 用非递归的方式实现对二叉树的中序遍历 - * @param root - * @return - */ - public static List inOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - - return result; - } - -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java deleted file mode 100644 index 41857e137d..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinaryTreeUtilTest { - - BinaryTreeNode root = null; - @Before - public void setUp() throws Exception { - root = new BinaryTreeNode(1); - root.setLeft(new BinaryTreeNode(2)); - root.setRight(new BinaryTreeNode(5)); - root.getLeft().setLeft(new BinaryTreeNode(3)); - root.getLeft().setRight(new BinaryTreeNode(4)); - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testPreOrderVisit() { - - List result = BinaryTreeUtil.preOrderVisit(root); - Assert.assertEquals("[1, 2, 3, 4, 5]", result.toString()); - - - } - @Test - public void testInOrderVisit() { - - - List result = BinaryTreeUtil.inOrderVisit(root); - Assert.assertEquals("[3, 2, 4, 1, 5]", result.toString()); - - } - - @Test - public void testPostOrderVisit() { - - - List result = BinaryTreeUtil.postOrderVisit(root); - Assert.assertEquals("[3, 4, 2, 5, 1]", result.toString()); - - } - - - @Test - public void testInOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.inOrderWithoutRecursion(root); - Assert.assertEquals("[3, 2, 6, 4, 7, 1, 5]", result.toString()); - - } - @Test - public void testPreOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.preOrderWithoutRecursion(root); - Assert.assertEquals("[1, 2, 3, 4, 6, 7, 5]", result.toString()); - - } -} diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/FileList.java b/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/FileList.java deleted file mode 100644 index 6e65192e4a..0000000000 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/tree/FileList.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coding.basic.tree; - -import java.io.File; - -public class FileList { - public void list(File f) { - } - - -} diff --git a/students/592146505/ood/ood-assignment/pom.xml b/students/592146505/ood/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/592146505/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/592146505/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/605159467/ood-assignment/pom.xml b/students/605159467/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/605159467/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java deleted file mode 100644 index b8c16c5091..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Email.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.coderising.ood.srp.bean; - -import com.coderising.ood.srp.resource.ConfigurationKeys; -import com.coderising.ood.srp.utils.MailUtil; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 22:04 - * Description: - */ -public class Email -{ - - - - - - - private String toAddress; - private String fromAddress; - private String subject; - private String message; - private String smtpHost; - - public String getFromAddress() - { - return fromAddress; - } - - public void setFromAddress(String fromAddress) - { - this.fromAddress = fromAddress; - } - public String getToAddress() - { - return toAddress; - } - - public void setToAddress(String toAddress) - { - this.toAddress = toAddress; - } - - public String getSubject() - { - return subject; - } - - public void setSubject(String subject) - { - this.subject = subject; - } - - public String getMessage() - { - return message; - } - - public void setMessage(String message) - { - this.message = message; - } - - public String getSmtpHost() - { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) - { - this.smtpHost = smtpHost; - } - - /** - * 具有发送的行为 - */ - public void sendMessage(){ - MailUtil.sendEmail(this.toAddress, - ConfigurationKeys.EMAIL_ADMIN, - this.subject, - this.message, - ConfigurationKeys.ALT_SMTP_SERVER, - true); - } - - /** - * 备用发送 - */ - public void standbySendMessage(){ - MailUtil.sendEmail(this.toAddress, - ConfigurationKeys.EMAIL_ADMIN, - this.subject, - this.message, - ConfigurationKeys.SMTP_SERVER, - true); - } - -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Person.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Person.java deleted file mode 100644 index 942b246154..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Person.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.ood.srp.bean; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 15:21 - * Description: - */ -public class Person -{ - private Long id; - private String name; - private String email; - - public Long getId() - { - return id; - } - - public void setId(Long id) - { - this.id = id; - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public String getEmail() - { - return email; - } - - public void setEmail(String email) - { - this.email = email; - } -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java deleted file mode 100644 index 1fe6c40ef7..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/bean/Product.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.ood.srp.bean; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 11:19 - * Description: 产品实体 - */ -public class Product -{ - private String productID ; - private String productDesc; - - public Product() - { - } - - public Product(String productID, String productDesc) - { - this.productID = productID; - this.productDesc = productDesc; - } - - public String getProductID() - { - return productID; - } - - public void setProductID(String productID) - { - this.productID = productID; - } - - public String getProductDesc() - { - return productDesc; - } - - public void setProductDesc(String productDesc) - { - this.productDesc = productDesc; - } - -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java deleted file mode 100644 index 8b79dfac51..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDao.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp.dao; - -import java.util.List; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 14:07 - * Description: - */ -public interface PromotionMailDao -{ - - /** - * 从数据库中读取信息,人员信息 - */ - public List loadMailingList() throws Exception; - - - - -} - diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDaoImpl.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDaoImpl.java deleted file mode 100644 index a730c3c188..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/dao/PromotionMailDaoImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp.dao; - -import com.coderising.ood.srp.bean.Person; -import com.coderising.ood.srp.utils.DBUtil; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 14:48 - * Description: - */ -public class PromotionMailDaoImpl implements PromotionMailDao -{ - public List loadMailingList() throws Exception - { - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - Person person=new Person(); - person.setId(Long.valueOf(i)); - person.setName("User" + i); - person.setEmail("aa@bb.com"); - userList.add(person); - } - return userList; - } -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/main/PromotionMail.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/main/PromotionMail.java deleted file mode 100644 index e946ece828..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/main/PromotionMail.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coderising.ood.srp.main; - -import com.coderising.ood.srp.bean.Email; -import com.coderising.ood.srp.bean.Person; -import com.coderising.ood.srp.bean.Product; -import com.coderising.ood.srp.resource.ConfigurationKeys; -import com.coderising.ood.srp.service.PromotionMailService; -import com.coderising.ood.srp.service.PromotionMailServiceImpl; - -import javax.xml.ws.Service; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail -{ - - public static PromotionMailService mailService = new PromotionMailServiceImpl(); - public static void main(String[] args) throws Exception - { - - String src = mailService.getClass().getResource("../resource") + "/product_promotion.txt"; - List productList = mailService.readFile(src); - List personList = mailService.querySendPerons(); - - List emailList=getEmailList(productList,personList); - - mailService.sendMessage(emailList); - } - - private static List getEmailList( List productList, List personList) throws Exception - { - List emailList=new ArrayList(); - for (Person person : personList) - { - for (Product product : productList) - { - Email email = new Email(); - String message=mailService.jointMessage(person, product); - email.setToAddress(person.getEmail()); - email.setMessage(message); - emailList.add(email); - } - } - return emailList; - } - - -} \ No newline at end of file diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/ConfigurationKeys.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/ConfigurationKeys.java deleted file mode 100644 index c6fac0201c..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/ConfigurationKeys.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.srp.resource; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - - public static final String EMAIL_ADMIN = "email.admin"; -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/product_promotion.txt b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/resource/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java deleted file mode 100644 index f520e17439..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.bean.Email; -import com.coderising.ood.srp.bean.Person; -import com.coderising.ood.srp.bean.Product; - -import java.io.IOException; -import java.util.List; - - -public interface PromotionMailService -{ - - - - - - - - public List readFile(String src) throws IOException; - - - - public List querySendPerons() throws Exception; - - - public String jointMessage(Person person, Product product)throws Exception; - - public void sendMessage(List emailList) throws IOException; -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailServiceImpl.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailServiceImpl.java deleted file mode 100644 index ed57cb2e90..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/service/PromotionMailServiceImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.coderising.ood.srp.service; - -import com.coderising.ood.srp.bean.Email; -import com.coderising.ood.srp.bean.Person; -import com.coderising.ood.srp.bean.Product; -import com.coderising.ood.srp.dao.PromotionMailDao; -import com.coderising.ood.srp.dao.PromotionMailDaoImpl; -import com.coderising.ood.srp.utils.FileUtil; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 15:04 - * Description: - */ -public class PromotionMailServiceImpl implements PromotionMailService -{ - private static PromotionMailDao promotionMailDao=new PromotionMailDaoImpl(); - private List persons; - private List products; - - - - public void sendMessage(List emailList) throws IOException - { - for (Email email:emailList){ - try - { - email.sendMessage(); - }catch (Exception e){ - - try { - email.standbySendMessage(); - } catch (Exception e2){ - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - - } - } - } - - - public List readFile(String src) throws IOException - { - File file=new File(src); - return FileUtil.readFile(file); // 获得 产品 - } - - public List querySendPerons() throws Exception - { - return promotionMailDao.loadMailingList(); //获得人员 - } - - - public String jointMessage(Person person, Product product) - { - StringBuffer message=new StringBuffer(); - String personName=person.getName(); - String productDesc=product.getProductDesc(); - message.append("您关注的产品降价了").append(" 尊敬的 ").append(personName) - .append(" 您关注的产品").append(productDesc).append("降价了,欢迎购买!"); - return message.toString(); - } -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/DBUtil.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/DBUtil.java deleted file mode 100644 index 2449bf2029..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/DBUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.utils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/FileUtil.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/FileUtil.java deleted file mode 100644 index 9ee29078b8..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/FileUtil.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coderising.ood.srp.utils; - -import com.coderising.ood.srp.bean.Product; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 11:08 - * Description: - */ -public class FileUtil -{ - - /** - * 读取文件内容,返回List - * @param file - * @return - * @throws IOException - */ - public static List readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - List list = null; - try - { - br = new BufferedReader(new FileReader(file)); - String line = null; - Product product = null; - list = new ArrayList(); - while ((line = br.readLine()) != null) - { - String[] data = line.split(" "); - product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - list.add(product); - } - return list; - } catch (IOException e) - { - throw new IOException(e.getMessage()); - } finally - { - br.close(); - } - } - -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/MailUtil.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/MailUtil.java deleted file mode 100644 index 557234d95c..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp.utils; - -public class MailUtil { - - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - - - -} diff --git a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/PropertiesUtil.java b/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/PropertiesUtil.java deleted file mode 100644 index 3c1226ffbb..0000000000 --- a/students/605159467/ood-assignment/src/main/java/com/coderising/ood/srp/utils/PropertiesUtil.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.coderising.ood.srp.utils; - -import org.junit.Test; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URI; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -/** - * Created with IDEA - * Created by fuyi.ren on 2017/6/17 16:27 - * Description: - */ -public class PropertiesUtil -{ - private Properties props; - private URI uri; - - public PropertiesUtil(String fileName){ - readProperties(fileName); - } - private void readProperties(String fileName) { - try { - props = new Properties(); - InputStream fis =getClass().getResourceAsStream(fileName); - props.load(fis); - uri = this.getClass().getResource("/dbConfig.properties").toURI(); - } catch (Exception e) { - e.printStackTrace(); - } - } - /** - * 获取某个属性 - */ - public String getProperty(String key){ - return props.getProperty(key); - } - /** - * 获取所有属性,返回一个map,不常用 - * 可以试试props.putAll(t) - */ - public Map getAllProperty(){ - Map map=new HashMap(); - Enumeration enu = props.propertyNames(); - while (enu.hasMoreElements()) { - String key = (String) enu.nextElement(); - String value = props.getProperty(key); - map.put(key, value); - } - return map; - } - /** - * 在控制台上打印出所有属性,调试时用。 - */ - public void printProperties(){ - props.list(System.out); - } - /** - * 写入properties信息 - */ - public void writeProperties(String key, String value) { - try { - OutputStream fos = new FileOutputStream(new File(uri)); - props.setProperty(key, value); - // 将此 Properties 表中的属性列表(键和元素对)写入输出流 - props.store(fos, "『comments』Update key:" + key); - } catch (Exception e) { - e.printStackTrace(); - } - } - - -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Configuration.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Configuration.java deleted file mode 100644 index b6a82c425f..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Configuration.java +++ /dev/null @@ -1,25 +0,0 @@ -package edu.coerscnu.ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - configurations.put(ConfigurationKeys.IS_DEBUG, true); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * @return - */ - public Object getProperty(String key) { - return configurations.get(key); - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/ConfigurationKeys.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/ConfigurationKeys.java deleted file mode 100644 index b7cecc897b..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package edu.coerscnu.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String IS_DEBUG = "debug"; -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/DBUtil.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/DBUtil.java deleted file mode 100644 index 6632d110fa..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/DBUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package edu.coerscnu.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 获取用户列表,应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List> query(String sql) { - - List> userList = new ArrayList>(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put(UserService.NAME_KEY, "User" + i); - userInfo.put(UserService.MAIL_KEY, i + "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/FileUtil.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/FileUtil.java deleted file mode 100644 index fd474c2da2..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/FileUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -package edu.coerscnu.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * FileUtil类负责读取.txt文件内容,并以List(产品id,产品描述)形式返回。 - * - * @author xujie - * - */ -public class FileUtil { - - public static List readFile(String path) throws IOException { - BufferedReader br = null; - List list = new ArrayList<>(); - try { - File file = new File(path); - FileReader fr = new FileReader(file); - br = new BufferedReader(fr); - String temp; - while ((temp = br.readLine()) != null) { - String[] data = temp.split(" "); - list.add(data); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - br.close(); - } - return list; - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/MailUtil.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/MailUtil.java deleted file mode 100644 index 1dd007b3d5..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/MailUtil.java +++ /dev/null @@ -1,73 +0,0 @@ -package edu.coerscnu.ood.srp; - -/** - * 邮件公共类 1、配置服务器 2、发送邮件 - * - * @author xujie - * - */ -public class MailUtil { - - private static String smtpHost; // 主服务器 - private static String altSmtpHost; // 备用服务器 - private static String fromAddress; // 发件人 - private static boolean isDebug; // 是否为调试环境 - - /** - * 配置服务器 - */ - public static void configureHost() { - Configuration config = new Configuration(); - smtpHost = (String) config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = (String) config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = (String) config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - isDebug = (boolean) config.getProperty(ConfigurationKeys.IS_DEBUG); - } - - /** - * 发送邮件,对外不可见 - * - * @param toAddress - * @param fromAddress - * @param subject - * @param message - * @param smtpHost - * @param debug - */ - private static void sendMail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - - /** - * 发送邮件,对外可见 - * - * @param toAddress - * @param subject - * @param message - */ - public static void sendMail(String toAddress, String subject, String message) { - configureHost(); - if (isDebug) { - System.out.println("调试环境"); - } else { - System.out.println("正式环境"); - } - if (smtpHost != null) { - System.out.println("使用主服务器发送邮件"); - sendMail(toAddress, fromAddress, subject, message, smtpHost, isDebug); - } else if (altSmtpHost != null) { - System.out.println("使用备用服务器发送邮件"); - sendMail(toAddress, fromAddress, subject, message, altSmtpHost, isDebug); - } else { - System.out.println("服务器异常,无法发送邮件"); - } - - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Product.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Product.java deleted file mode 100644 index 64cbcc6d0c..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/Product.java +++ /dev/null @@ -1,33 +0,0 @@ -package edu.coerscnu.ood.srp; - -/** - * 产品类,包含id和描述两个属性 - * - * @author xujie - * - */ -public class Product { - protected String productID = null; - protected String productDesc = null; - - public Product(String id, String desc) { - productID = id; - productDesc = desc; - } - - public void setProductID(String id) { - productID = id; - } - - public void setProductDesc(String desc) { - productDesc = desc; - } - - public String getProductID() { - return productID; - } - - public String getProductDesc() { - return productDesc; - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/PromotionMail.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/PromotionMail.java deleted file mode 100644 index 14d80dcaf9..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/PromotionMail.java +++ /dev/null @@ -1,93 +0,0 @@ -package edu.coerscnu.ood.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -/** - * 促销邮件类 - * - * 1、设置邮件主题 - * - * 2、设置邮件正文 - * - * 3、设置邮件收件人列表 - * - * 4、发送邮件 - * - * @author xujie - * - */ -public class PromotionMail { - - protected String subject = null; - protected String message = null; - protected List> mailList; - - public static void main(String[] args) throws Exception { - - String path = "src/edu/coerscnu/ood/srp/product_promotion.txt"; - List productList = FileUtil.readFile(path); - for (String[] prod : productList) { - Product product = new Product(prod[0], prod[1]); - PromotionMail pm = new PromotionMail(); - pm.setMailList(product); - pm.sendMails(product); - } - } - - /** - * 设置邮件主题 - * - * @param subject - */ - public void setSubject(String subject) { - this.subject = subject; - } - - /** - * 设置邮件正文 - * - * @param userInfo - * @param product - * @throws IOException - */ - protected void setMessage(HashMap userInfo, Product product) throws IOException { - String name = (String) userInfo.get(UserService.NAME_KEY); - String desc = product.getProductDesc(); - message = "尊敬的 " + name + ", 您关注的产品 " + desc + " 降价了,欢迎购买!"; - } - - /** - * 设置收件人列表 - * - * @param product - * @throws Exception - */ - protected void setMailList(Product product) throws Exception { - UserService userService = new UserService(); - userService.setLoadQuery(product); - mailList = userService.loadMailingList(); - } - - /** - * 发送邮件 - * - * @throws IOException - */ - protected void sendMails(Product product) throws IOException { - if (mailList != null) { - Iterator> iter = mailList.iterator(); - while (iter.hasNext()) { - HashMap user = iter.next(); - String toAddress = (String) user.get(UserService.MAIL_KEY); - if (toAddress.length() > 0) { - setSubject("您关注的产品降价了"); - setMessage(user, product); - MailUtil.sendMail(toAddress, subject, message); - } - } - } - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/UserService.java b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/UserService.java deleted file mode 100644 index af04bf5709..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/UserService.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.coerscnu.ood.srp; - -import java.util.HashMap; -import java.util.List; - -/** - * 用户类,获取关注降价产品的客户的名字和邮箱地址 - * - * @author xujie - * - */ -public class UserService { - - protected static final String NAME_KEY = "NAME"; - protected static final String MAIL_KEY = "EMAIL"; - - protected String query = ""; - - protected void setLoadQuery(Product product) { - query = "Select name from subscriptions " + "where product_id= '" + product.getProductID() + "' " - + "and send_mail=1 "; - System.out.println("loadQuery set\n"); - } - - protected List> loadMailingList() throws Exception { - return DBUtil.query(query); - } -} diff --git a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/product_promotion.txt b/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/617314917/ood/ood-assignment/assignment01/src/edu/coerscnu/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/617314917/readme.md b/students/617314917/readme.md deleted file mode 100644 index d620ba5b0a..0000000000 --- a/students/617314917/readme.md +++ /dev/null @@ -1 +0,0 @@ -这是“广州-许洁”提交代码的qq命名文件夹。 \ No newline at end of file diff --git a/students/63072784/README.md b/students/63072784/README.md deleted file mode 100644 index f5e57e7b78..0000000000 --- a/students/63072784/README.md +++ /dev/null @@ -1 +0,0 @@ -这是我的目录 diff --git a/students/643449856/ood-assignment/pom.xml b/students/643449856/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/643449856/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/643449856/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/643449856/readme.md b/students/643449856/readme.md deleted file mode 100644 index b8e87ead7c..0000000000 --- a/students/643449856/readme.md +++ /dev/null @@ -1 +0,0 @@ -first pull request \ No newline at end of file diff --git a/students/675554906/readme.md b/students/675554906/readme.md deleted file mode 100644 index a51b977d60..0000000000 --- a/students/675554906/readme.md +++ /dev/null @@ -1 +0,0 @@ -第一次提交 仅为学习 \ No newline at end of file diff --git a/students/675554906/src/lilei/com/cn/Configuration.java b/students/675554906/src/lilei/com/cn/Configuration.java deleted file mode 100644 index c8020595fd..0000000000 --- a/students/675554906/src/lilei/com/cn/Configuration.java +++ /dev/null @@ -1,27 +0,0 @@ -package lilei.com.cn; -import java.util.HashMap; -import java.util.Map; -/** - * Configuration 读取/获取配置信息类 - * 唯一能引起此类变化的是配置文件的改变 - * - * */ -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/675554906/src/lilei/com/cn/ConfigurationKeys.java b/students/675554906/src/lilei/com/cn/ConfigurationKeys.java deleted file mode 100644 index ddcaeb4def..0000000000 --- a/students/675554906/src/lilei/com/cn/ConfigurationKeys.java +++ /dev/null @@ -1,13 +0,0 @@ -package lilei.com.cn; -/** - * ConfigurationKeys 配置信息定义类 - * 个人理解,唯一能引发变化的是“需求”比如,要增加一个KEY - * - * */ -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/675554906/src/lilei/com/cn/DBUtil.java b/students/675554906/src/lilei/com/cn/DBUtil.java deleted file mode 100644 index 9ae43cc7dc..0000000000 --- a/students/675554906/src/lilei/com/cn/DBUtil.java +++ /dev/null @@ -1,29 +0,0 @@ -package lilei.com.cn; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - /** - * DBUtil 连接数据库,获取数据 - * 个人理解,此类只是负责数据库的连接,和数据的读取,存储,修改 - * - * */ -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/675554906/src/lilei/com/cn/MailAssemble.java b/students/675554906/src/lilei/com/cn/MailAssemble.java deleted file mode 100644 index 8c17e5f3bf..0000000000 --- a/students/675554906/src/lilei/com/cn/MailAssemble.java +++ /dev/null @@ -1,100 +0,0 @@ -package lilei.com.cn; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -/** - * MailAssemble 组装邮件类 - * 个人理解, 此类的职责是组装邮件,而邮件是根据Configuration(配置信息类)、ReadFile(读取信息类)来组成的,这两个类也是引起变化的因素 - * - * */ -public class MailAssemble { - protected String sendMailQuery = null; - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - protected String productID = null; - protected String productDesc = null; - - private static Configuration config = new Configuration(); - private static ReadFile rf = new ReadFile();; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - //组装信息 - public void assembleMail() throws Exception{ - String data[] = rf.readFile(); - setProductID(data[0]); - setProductDesc(data[1]); - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - setLoadQuery(); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - String name = (String) userInfo.get(NAME_KEY); - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - } - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } -} diff --git a/students/675554906/src/lilei/com/cn/MailUtil.java b/students/675554906/src/lilei/com/cn/MailUtil.java deleted file mode 100644 index 2bd129dc75..0000000000 --- a/students/675554906/src/lilei/com/cn/MailUtil.java +++ /dev/null @@ -1,60 +0,0 @@ -package lilei.com.cn; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -/** - * MailUtil 邮件方法类 - * 个人理解,唯一引起变化的就是邮件发送方法的改变 - * - * */ -public class MailUtil { - - private static MailAssemble assembleMail = new MailAssemble(); - - public static void sendEmail(MailAssemble assembleMail , boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(assembleMail.fromAddress).append("\n"); - buffer.append("To:").append(assembleMail.toAddress).append("\n"); - buffer.append("Subject:").append(assembleMail.subject).append("\n"); - buffer.append("Content:").append(assembleMail.message).append("\n"); - System.out.println(buffer.toString()); - - } - - protected void sendEMails(boolean debug) throws Exception - { - assembleMail.assembleMail(); - List mailingList = assembleMail.loadMailingList(); - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - assembleMail.configureEMail((HashMap) iter.next()); - try - { - if (assembleMail.toAddress.length() > 0) - sendEmail(assembleMail, debug); - } - catch (Exception e) - { - - try { - sendEmail(assembleMail, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - - else { - System.out.println("没有邮件发送"); - } - } -} diff --git a/students/675554906/src/lilei/com/cn/PromotionMail.java b/students/675554906/src/lilei/com/cn/PromotionMail.java deleted file mode 100644 index 7522bab6b1..0000000000 --- a/students/675554906/src/lilei/com/cn/PromotionMail.java +++ /dev/null @@ -1,29 +0,0 @@ -package lilei.com.cn; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -/** - * PromotionMail 推送邮件类 - * 个人理解, 此类唯一能引起变化的就是发送邮件的方法变化 - * - * */ -public class PromotionMail { - - private static MailUtil mailUtil; - public static void main(String[] args) throws Exception { - - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(emailDebug); - } - - public PromotionMail(boolean mailDebug) throws Exception { - mailUtil = new MailUtil(); - mailUtil.sendEMails(mailDebug); - } -} diff --git a/students/675554906/src/lilei/com/cn/ReadFile.java b/students/675554906/src/lilei/com/cn/ReadFile.java deleted file mode 100644 index e13a9d644e..0000000000 --- a/students/675554906/src/lilei/com/cn/ReadFile.java +++ /dev/null @@ -1,33 +0,0 @@ -package lilei.com.cn; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -/** - * ReadFile 读取文件类 - * 个人理解, 唯一能引发变化的就是文件路径的变动 - * - * */ -public class ReadFile { - - private File file; - private String filePath = "F:\\product_promotion.txt"; - - protected String[] readFile() throws IOException // @02C - { - BufferedReader br = null; - try { - file = new File(filePath); - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - return data; - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git a/students/675554906/src/lilei/com/cn/product_promotion.txt b/students/675554906/src/lilei/com/cn/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/675554906/src/lilei/com/cn/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/702282822/ood-assignment/pom.xml b/students/702282822/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/702282822/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/702282822/ood-assignment/product_promotion.txt b/students/702282822/ood-assignment/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/702282822/ood-assignment/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 44e38129c8..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - static final String NAME_KEY = "NAME"; - static final String EMAIL_KEY = "EMAIL"; - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) - { - return configurations.get(key); - } - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index d131ff0c73..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 97909cf560..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - - - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/FileProdUtil.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/FileProdUtil.java deleted file mode 100644 index 4e3a7d2373..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/FileProdUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.LinkedList; - -public class FileProdUtil { - //if other files, need polymorphically present file reading - public static void readFile(File file, LinkedList themes) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String sCurrentLine = ""; - - while ((sCurrentLine = br.readLine()) != null) - { - Theme prod = new Product(); - String[] data = sCurrentLine.split(" "); - prod.setID(data[0]); - prod.setDesc(data[1]); - - System.out.println("产品ID = " + prod.getID() + "\n"); - System.out.println("产品描述 = " + prod.getDesc() + "\n"); - themes.add(prod); - } - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index 4820d10a12..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -public abstract class Mail { - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - protected String sendMailQuery = null; - protected LinkedList theme; - public Mail(File file, boolean emailDebug) throws Exception - { - theme = new LinkedList<>(); - FileProdUtil.readFile(file, theme); - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - sendEMails(emailDebug, theme); - } - //protected abstract void readFile(File fie, LinkedList theme) throws IOException; - - protected void setSMTPHost() - { - smtpHost = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - - - protected void setFromAddress() - { - fromAddress = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setToAddress(HashMap userInfo){ - toAddress = (String) userInfo.get(Configuration.EMAIL_KEY); - } - - protected List loadMailingList() throws Exception { //user information, name and email address - return DBUtil.query(this.sendMailQuery); - } - - - //protected abstract void setMessage(String name) throws IOException; - - abstract protected void setSendMailQuery(Theme theme) throws Exception; - - - abstract protected void setMessage(String name, Theme theme) throws IOException; - - - protected void emailProcessing(List mailingList, boolean debug, Theme theme) throws Exception - { - if (mailingList != null) - { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) - { - HashMap userInfo = (HashMap) iter.next(); - setToAddress(userInfo); - if (toAddress.length() > 0) - setMessage((String)userInfo.get(Configuration.NAME_KEY), theme); - - try - { - if (toAddress.length() > 0) - sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - else { - System.out.println("没有邮件发送"); - } - } - - - - protected void sendEMails(boolean debug, LinkedList theme) throws Exception - { - for(Theme topic : theme) - { - setSendMailQuery(topic); - List mailingList = loadMailingList(); //persons - - System.out.println("开始发送邮件"); - emailProcessing(mailingList, debug, topic); - } - } - - public void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 1f84e2f087..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.coderising.ood.srp; - -public class Product extends Theme { - - - - -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index d6ef4b8c26..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.io.IOException; - -public class PromotionMail extends Mail { //inheritance from mail - - - - public static void main(String[] args) throws Exception { - - File f = new File("./product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - public PromotionMail(File file, boolean mailDebug) throws Exception - { - super(file, mailDebug); - } - - protected void setSendMailQuery(Theme theme) throws Exception { - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + theme.getID() +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - } - - - protected void setMessage(String name, Theme theme) throws IOException - { - subject = "您关注的产品降价了"; - message = "尊敬的 "+ name +", 您关注的产品 " + theme.getDesc() + " 降价了,欢迎购买!" ; - } -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Theme.java b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Theme.java deleted file mode 100644 index e2bf2f5e00..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/Theme.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * - */ -package com.coderising.ood.srp; - -/** - * @author funkyxym - * - */ -public abstract class Theme { - private String ID = ""; - private String Desc = ""; - - protected void setID(String ID) - { - this.ID = ID; - } - - protected String getID() - { - return ID; - } - - protected void setDesc(String desc) { - this.Desc = desc; - } - - protected String getDesc(){ - return Desc; - } -} diff --git a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/702282822/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Configuration.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Configuration.java" deleted file mode 100644 index f328c1816a..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Configuration.java" +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/ConfigurationKeys.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/ConfigurationKeys.java" deleted file mode 100644 index 8695aed644..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/ConfigurationKeys.java" +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/DBUtil.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/DBUtil.java" deleted file mode 100644 index c3107056d5..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/DBUtil.java" +++ /dev/null @@ -1,41 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - private String sql; - - - public void setLoadQuery(String productID) throws Exception { - - String sql = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - this.setSql(sql); - System.out.println("loadQuery set"); - } - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public List queryForList(){ - String query=this.getSql(); - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User userInfo = new User(); - userInfo.setNAME("User" + i); - userInfo.setEMAIL("aa@bb.com"); - userList.add(userInfo); - } - return userList; - } - public String getSql() { - return sql; - } - public void setSql(String sql) { - this.sql = sql; - } -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/EMail.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/EMail.java" deleted file mode 100644 index 53834eba04..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/EMail.java" +++ /dev/null @@ -1,48 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; - -public class EMail { - - private String fromAddress; - private String toAddress; - private String subject; - private String message; - - - - public EMail(String fromAddress, String toAddress, String subject, String message) { - this.fromAddress = fromAddress; - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - } - - - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message=message; - } - - -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/MailUtil.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/MailUtil.java" deleted file mode 100644 index 86def76810..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/MailUtil.java" +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Product.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Product.java" deleted file mode 100644 index 93ec68aae0..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Product.java" +++ /dev/null @@ -1,60 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * 产品类 - * @author Administrator - * - */ -public class Product { - - /** - * 产品ID - */ - private String productID; - - /** - * 产品描述 - */ - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public static Product readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - Product product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - return product; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/PromotionMail.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/PromotionMail.java" deleted file mode 100644 index 1c6225abdb..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/PromotionMail.java" +++ /dev/null @@ -1,80 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - private static Configuration config; - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - Product product=Product.readFile(file); - config = new Configuration(); - Server server =new Server(); - server.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - server.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - DBUtil dbUtil = new DBUtil(); - dbUtil.setLoadQuery(product.getProductID()); - List mailingList= dbUtil.queryForList(); - if (mailingList != null) { - System.out.println("开始发送邮件"); - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - HashMap userInfo = (HashMap) iter.next(); - String toAddress = (String) userInfo.get(EMAIL_KEY); - String name = (String) userInfo.get(NAME_KEY); - String subject = "您关注的产品降价了"; - String message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - String fromAddress=config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - EMail eMail = new EMail(toAddress,fromAddress,subject,message); - sendEMails(eMail,server,mailDebug); - } - }else{ - System.out.println("没有邮件发送"); - } - } - - protected void sendEMails(EMail eMail,Server server,boolean debug) throws IOException { - try - { - if (eMail.getToAddress().length() > 0) - MailUtil.sendEmail(eMail.getToAddress(), eMail.getFromAddress(), eMail.getSubject(), eMail.getMessage(), server.getSmtpHost(), debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(eMail.getToAddress(), eMail.getFromAddress(), eMail.getSubject(), eMail.getMessage(), server.getAltSmtpHost(), debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} - diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Server.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Server.java" deleted file mode 100644 index 37776d9aa6..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/Server.java" +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.ood.srp; - - -public class Server { - - private String smtpHost; - private String altSmtpHost; - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - public String getAltSmtpHost() { - return altSmtpHost; - } - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/User.java" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/User.java" deleted file mode 100644 index 69d9010247..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/User.java" +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; - -public class User { - - private String NAME; - - private String EMAIL; - - public String getNAME() { - return NAME; - } - - public void setNAME(String nAME) { - NAME = nAME; - } - - public String getEMAIL() { - return EMAIL; - } - - public void setEMAIL(String eMAIL) { - EMAIL = eMAIL; - } - -} diff --git "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/product_promotion.txt" "b/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/product_promotion.txt" deleted file mode 100644 index b7a974adb3..0000000000 --- "a/students/706097141/\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232/product_promotion.txt" +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/734473301/coding2017jyz/product_promotion.txt b/students/734473301/coding2017jyz/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/734473301/coding2017jyz/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/734473301/coding2017jyz/readme.txt b/students/734473301/coding2017jyz/readme.txt deleted file mode 100644 index 746bb1fdc8..0000000000 --- a/students/734473301/coding2017jyz/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -因为内容不多,也就没有分包,全部放在了一起。 - -发送邮件的实现方法,最后是放在了host上,可以直接new一个host发送, -这个方法应该实现在哪个类,这个还需结合实际考虑。 \ No newline at end of file diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Configuration.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Configuration.java deleted file mode 100644 index 01dbf8d408..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Configuration.java +++ /dev/null @@ -1,32 +0,0 @@ -package homework.jyz.coding2017; -import java.util.HashMap; -import java.util.Map; - -/** - * 主机配置类 - */ -public class Configuration { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - - private Map configurations = new HashMap<>(); - - public Configuration() { - configurations.put(SMTP_SERVER, "smtp.163.com"); - configurations.put(ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Email.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Email.java deleted file mode 100644 index 8e33d1e4d0..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/Email.java +++ /dev/null @@ -1,54 +0,0 @@ -package homework.jyz.coding2017; - -/** - * 邮件实体信息 - * Created by jyz on 2017/6/13. - */ -public class Email { - private String fromAddress; - private String toAddress; - private String subject; - private String message; - - public Email() { - } - - public Email(String fromAddress, String toAddress, String subject, String message) { - this.fromAddress = fromAddress; - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/EmailHost.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/EmailHost.java deleted file mode 100644 index 4299d466fe..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/EmailHost.java +++ /dev/null @@ -1,57 +0,0 @@ -package homework.jyz.coding2017; - -/** - * 邮件服务器主机类 - * Created by jyz on 2017/6/13. - */ -public class EmailHost { - private Configuration config; - private String host; - private String altHost; - private String hostAdmin; - - /** - * 构建主机 - * @param config 主机配置 - */ - public EmailHost(Configuration config) { - this.config = config; - host = this.config.getProperty(Configuration.SMTP_SERVER); - altHost = this.config.getProperty(Configuration.ALT_SMTP_SERVER); - hostAdmin = this.config.getProperty(Configuration.EMAIL_ADMIN); - } - - public boolean send(Email email){ - - if(email != null){ - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(email.getFromAddress()).append("\n"); - buffer.append("To:").append(email.getToAddress()).append("\n"); - buffer.append("Subject:").append(email.getSubject()).append("\n"); - buffer.append("Content:").append(email.getMessage()).append("\n"); - if(send(host,buffer.toString())){ - return true; - } - System.out.println("启用备用主机发送.."); - if(send(altHost,buffer.toString())){ - return true; - } - System.out.println("发送失败"); - return false; - } - System.out.println("邮件为空,发送失败"); - return false; - } - - public boolean send(String host,String message){ - try { - System.out.println("使用主机"+host+"发送邮件"); - System.out.println(message); - return true; - } catch (Exception e) { - System.out.println("使用主机"+host+"发送邮件失败"); - e.printStackTrace(); - return false; - } - } -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailConfig.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailConfig.java deleted file mode 100644 index 2d3a56aac6..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package homework.jyz.coding2017; - - - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * 配置邮件信息类 - * Created by jyz on 2017/6/13. - */ -public class MailConfig { - private MailDao dao; - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - private String productID = ""; - private String productDesc = ""; - - public MailConfig(MailDao dao) { - this.dao = dao; - } - - public List getEmails() { - List mails = dao.getMails(productID); - List list = new ArrayList<>(); - for (HashMap map : mails) { - Email email = new Email(); - setMessage(map, email); - list.add(email); - } - return list; - } - - private void setMessage(HashMap userInfo, Email email) { - String name = (String) userInfo.get(NAME_KEY); - email.setSubject("您关注的产品降价了"); - String message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - email.setMessage(message); - } - - - public void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - productID = data[0]; - productDesc = data[1]; - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - if(br != null){ - br.close(); - } - } - } -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailDao.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailDao.java deleted file mode 100644 index def5400761..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailDao.java +++ /dev/null @@ -1,34 +0,0 @@ -package homework.jyz.coding2017; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * 邮件Dao - * Created by jyz on 2017/6/13. - */ -public class MailDao { - - public List getMails(String productID){ - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - return query(sendMailQuery); - } - - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailSend.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailSend.java deleted file mode 100644 index d9658cb22f..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/MailSend.java +++ /dev/null @@ -1,41 +0,0 @@ -package homework.jyz.coding2017; - -import java.util.List; - -/** - * 发送邮件的工作类 - * Created by jyz on 2017/6/13. - */ -public class MailSend { - - private EmailHost host; - - public MailSend(EmailHost host){ - this.host = host; - } - - public MailSend() { - } - - /** - * 默认主机发送 - * @param emails - */ - public void send(List emails){ - emails.forEach(email -> host.send(email)); - } - public void send(Email email){ - host.send(email); - } - /** - * 指定主机发送 - * @param host - * @param emails - */ - public void send(EmailHost host,List emails){ - for (Email email : emails) { - host.send(email); - } - } - -} diff --git a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/WorkStart.java b/students/734473301/coding2017jyz/src/homework/jyz/coding2017/WorkStart.java deleted file mode 100644 index 9759223a94..0000000000 --- a/students/734473301/coding2017jyz/src/homework/jyz/coding2017/WorkStart.java +++ /dev/null @@ -1,26 +0,0 @@ -package homework.jyz.coding2017; - -import java.io.File; -import java.io.IOException; - -/** - * 主程序类 - * Created by jyz on 2017/6/13. - */ -public class WorkStart { - public static void main(String args[]) throws IOException { - // 发送邮件程序入口 - Configuration confg = new Configuration();// 加载配置 - MailSend ms = new MailSend(new EmailHost(confg));// 创建邮件工作类 - MailConfig mc = new MailConfig(new MailDao());// 组织待发送邮件 - mc.readFile(new File("product_promotion.txt"));// 获取产品信息 - ms.send(mc.getEmails());// 批量发送 - - Email email = new Email("from@qq.com","to@qq.com","coding2017","hello,world!"); - ms.send(email); // 单个发送 - - } - - - -} diff --git a/students/740707954/readMe b/students/740707954/readMe deleted file mode 100644 index f831579269..0000000000 --- a/students/740707954/readMe +++ /dev/null @@ -1,2 +0,0 @@ -TEST1 -2017.06.17 \ No newline at end of file diff --git a/students/740707954/src/ood/newSrp/MailSender.java b/students/740707954/src/ood/newSrp/MailSender.java deleted file mode 100644 index 14604b2c14..0000000000 --- a/students/740707954/src/ood/newSrp/MailSender.java +++ /dev/null @@ -1,73 +0,0 @@ -package ood.newSrp; - -import ood.newSrp.entity.Email; -import ood.newSrp.entity.Product; -import ood.newSrp.server.MainSmtpFactory; -import ood.newSrp.server.SmtpServer; -import ood.newSrp.server.TempSmtpFactory; - -import java.io.IOException; -import java.util.List; -import java.util.Map; - -/** - * 邮件发送器 - * Created by lx on 2017/6/17. - */ -public class MailSender { - - protected SmtpServer mainServer = new MainSmtpFactory().createSmtp(); - protected SmtpServer tempServer = new TempSmtpFactory().createSmtp(); - public static final String NAME_KEY = "NAME"; - - /** - * 批量发送邮件 - * @param p 产品信息 - * @param sendUserList 用户信息 - * @param d - * @throws IOException - */ - public void batchSendEMail(Product p, List sendUserList, boolean d) throws IOException { - System.out.println("--------开始发送邮件-------"); - if (null == sendUserList || sendUserList.size() == 0) { - System.out.println("没有邮件发送"); - return; - } - - for (Map userInfo : sendUserList) { - Email email = new Email(); - String toAddr = userInfo.get("EMAIL").toString(); - email.setToAddress(toAddr); - email.setFromAddress(mainServer.address); - email.setSubject("您关注的产品降价了"); - email.setMessage("尊敬的 " + userInfo.get(NAME_KEY).toString() + ", 您关注的产品 " + p.getProductDesc() + " 降价了,欢迎购买!"); - try { - sendEmail(email, d); - } catch (Exception e) { - try { - email.setFromAddress(tempServer.address); - sendEmail(email, d); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } - - /** - * 发送邮件 - * @param n - * @param debug - */ - public static void sendEmail(Email n, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(n.getFromAddress()).append("\n"); - buffer.append("To:").append(n.getToAddress()).append("\n"); - buffer.append("Subject:").append(n.getSubject()).append("\n"); - buffer.append("Content:").append(n.getMessage()).append("\n"); - System.out.println(buffer.toString()); - - } -} diff --git a/students/740707954/src/ood/newSrp/PromotionMail.java b/students/740707954/src/ood/newSrp/PromotionMail.java deleted file mode 100644 index 74cb9741da..0000000000 --- a/students/740707954/src/ood/newSrp/PromotionMail.java +++ /dev/null @@ -1,32 +0,0 @@ -package ood.newSrp; - -import ood.newSrp.entity.Product; -import ood.newSrp.server.UserServer; -import ood.newSrp.server.ProductServer; - -import java.util.List; -import java.util.Map; - -/** - * promotion 提升 - */ -public class PromotionMail { - // 用户信息 - private static UserServer ms = new UserServer(); - // 邮件发送器 - private static MailSender mSend = new MailSender(); - - public static void main(String[] args) throws Exception { - // 获取产品信息 - List pList = ProductServer.getUserProduct(); - - for (Product p : pList) { - System.out.println("产品ID: " + p.getProductId() + "\n" + "产品描述:" + p.getProductDesc()); - // 获取接收产品用户列表 - List sendUserList = ms.querySendUser(p.getProductId()); - // 发送邮件 - mSend.batchSendEMail(p, sendUserList, false); - } - - } -} diff --git a/students/740707954/src/ood/newSrp/conf/Configuration.java b/students/740707954/src/ood/newSrp/conf/Configuration.java deleted file mode 100644 index 37bf3f3a58..0000000000 --- a/students/740707954/src/ood/newSrp/conf/Configuration.java +++ /dev/null @@ -1,26 +0,0 @@ -package ood.newSrp.conf; - -import ood.oldSrp.ConfigurationKeys; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/740707954/src/ood/newSrp/entity/Email.java b/students/740707954/src/ood/newSrp/entity/Email.java deleted file mode 100644 index 17159b916b..0000000000 --- a/students/740707954/src/ood/newSrp/entity/Email.java +++ /dev/null @@ -1,57 +0,0 @@ -package ood.newSrp.entity; - -/** - * 邮件 - * Created by Administrator on 2017/6/15 0015. - */ -public class Email { - private String subject; - private String message; - private String toAddress; - private String fromAddress; - private String smtpHost; - - public Email() { - - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } -} diff --git a/students/740707954/src/ood/newSrp/entity/Product.java b/students/740707954/src/ood/newSrp/entity/Product.java deleted file mode 100644 index 4fc38aacb4..0000000000 --- a/students/740707954/src/ood/newSrp/entity/Product.java +++ /dev/null @@ -1,35 +0,0 @@ -package ood.newSrp.entity; - -/** - * 产品信息 - * Created by Administrator on 2017/6/15 0015. - */ -public class Product { - private String productId = null; - private String productDesc = null; - - public Product() { - - } - - public Product(String productId, String productDesc) { - this.productId = productId; - this.productDesc = productDesc; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public String getProductId() { - return productId; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/740707954/src/ood/newSrp/product_promotion.txt b/students/740707954/src/ood/newSrp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/740707954/src/ood/newSrp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/740707954/src/ood/newSrp/server/MainSmtpFactory.java b/students/740707954/src/ood/newSrp/server/MainSmtpFactory.java deleted file mode 100644 index 5dcfdc5a5b..0000000000 --- a/students/740707954/src/ood/newSrp/server/MainSmtpFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package ood.newSrp.server; - -/** - * Created by lx on 2017/6/17. - */ -public class MainSmtpFactory implements SmtpFactory { - @Override - public SmtpServer createSmtp() { - return new MainSmtpServer(); - } -} diff --git a/students/740707954/src/ood/newSrp/server/MainSmtpServer.java b/students/740707954/src/ood/newSrp/server/MainSmtpServer.java deleted file mode 100644 index 6e9be0a9ab..0000000000 --- a/students/740707954/src/ood/newSrp/server/MainSmtpServer.java +++ /dev/null @@ -1,30 +0,0 @@ -package ood.newSrp.server; - -import ood.newSrp.conf.Configuration; -import ood.oldSrp.ConfigurationKeys; - -/** - * 主要服务器 - * Created by Administrator on 2017/6/15 0015. - */ -public class MainSmtpServer extends SmtpServer { - - public MainSmtpServer() { - address = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - host = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - /** - * 设置服务器地址 - */ - public void setServerAddr() { - address = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - /** - * 设置服务器host - */ - public void setServerHost() { - host = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - } -} diff --git a/students/740707954/src/ood/newSrp/server/ProductServer.java b/students/740707954/src/ood/newSrp/server/ProductServer.java deleted file mode 100644 index db8efa8bc3..0000000000 --- a/students/740707954/src/ood/newSrp/server/ProductServer.java +++ /dev/null @@ -1,55 +0,0 @@ -package ood.newSrp.server; - -import ood.newSrp.entity.Product; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - *产品服务 - * Created by lx on 2017/6/17. - */ -public class ProductServer { - private static List pList = new ArrayList<>(); - static { - try { - initSpecialProductList(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * 生成优惠产品信息 - * @return - * @throws IOException - */ - private static void initSpecialProductList() throws IOException { - String filePath = System.getProperty("user.dir") + "/src/ood/oldSrp/product_promotion.txt"; - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(filePath)); - String pInfo; - while ((pInfo = br.readLine()) != null) { - String[] data = pInfo.split(" "); - pList.add(new Product(data[0], data[1])); - } - } catch (IOException e) { - throw new IOException( "读取文件内容失败 " + e.getMessage()); - } finally { - if (br != null) { - br.close(); - } - } - } - - /** - * 获取用户的产品 - * @return - */ - public static List getUserProduct() { - return pList; - } -} diff --git a/students/740707954/src/ood/newSrp/server/SmtpFactory.java b/students/740707954/src/ood/newSrp/server/SmtpFactory.java deleted file mode 100644 index efdf3ec25b..0000000000 --- a/students/740707954/src/ood/newSrp/server/SmtpFactory.java +++ /dev/null @@ -1,8 +0,0 @@ -package ood.newSrp.server; - -/** - * Created by lx on 2017/6/17. - */ -public interface SmtpFactory { - public SmtpServer createSmtp(); -} \ No newline at end of file diff --git a/students/740707954/src/ood/newSrp/server/SmtpServer.java b/students/740707954/src/ood/newSrp/server/SmtpServer.java deleted file mode 100644 index ff35288d1f..0000000000 --- a/students/740707954/src/ood/newSrp/server/SmtpServer.java +++ /dev/null @@ -1,19 +0,0 @@ -package ood.newSrp.server; - -/** - * Created by Administrator on 2017/6/15 0015. - */ -public abstract class SmtpServer { - public String address = ""; - public String host = ""; - - /** - * 设置服务器地址 - */ - abstract void setServerAddr(); - - /** - * 设置服务器host - */ - abstract void setServerHost(); -} diff --git a/students/740707954/src/ood/newSrp/server/TempSmtpFactory.java b/students/740707954/src/ood/newSrp/server/TempSmtpFactory.java deleted file mode 100644 index ae16252fd0..0000000000 --- a/students/740707954/src/ood/newSrp/server/TempSmtpFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package ood.newSrp.server; - -/** - * Created by lx on 2017/6/17. - */ -public class TempSmtpFactory implements SmtpFactory { - @Override - public SmtpServer createSmtp() { - return new TempSmtpServer(); - } -} diff --git a/students/740707954/src/ood/newSrp/server/TempSmtpServer.java b/students/740707954/src/ood/newSrp/server/TempSmtpServer.java deleted file mode 100644 index 417cd8acd0..0000000000 --- a/students/740707954/src/ood/newSrp/server/TempSmtpServer.java +++ /dev/null @@ -1,29 +0,0 @@ -package ood.newSrp.server; - -import ood.newSrp.conf.Configuration; -import ood.oldSrp.ConfigurationKeys; - -/** - * 备用服务器 - * Created by Administrator on 2017/6/15 0015. - */ -public class TempSmtpServer extends SmtpServer { - - public TempSmtpServer() { - address = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - host = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } - /** - * 设置服务器地址 - */ - public void setServerAddr() { - address = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - /** - * 设置服务器host - */ - public void setServerHost() { - host = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - } -} diff --git a/students/740707954/src/ood/newSrp/server/UserServer.java b/students/740707954/src/ood/newSrp/server/UserServer.java deleted file mode 100644 index 0c9864eab7..0000000000 --- a/students/740707954/src/ood/newSrp/server/UserServer.java +++ /dev/null @@ -1,19 +0,0 @@ -package ood.newSrp.server; - -import ood.newSrp.util.DBUtil; -import java.util.List; -import java.util.Map; - -/** - * Created by lx on 2017/6/17. - */ -public class UserServer { - - /** - * 查询发送人 - * @return - */ - public List querySendUser(String productId){ - return DBUtil.query("Select name from subscriptions where product_id= '" + productId + "' and send_mail=1 "); - } -} diff --git a/students/740707954/src/ood/newSrp/util/DBUtil.java b/students/740707954/src/ood/newSrp/util/DBUtil.java deleted file mode 100644 index c1866fd925..0000000000 --- a/students/740707954/src/ood/newSrp/util/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package ood.newSrp.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/740707954/src/ood/oldSrp/Configuration.java b/students/740707954/src/ood/oldSrp/Configuration.java deleted file mode 100644 index 9a1a4d075c..0000000000 --- a/students/740707954/src/ood/oldSrp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package ood.oldSrp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/740707954/src/ood/oldSrp/ConfigurationKeys.java b/students/740707954/src/ood/oldSrp/ConfigurationKeys.java deleted file mode 100644 index 154ea2c77c..0000000000 --- a/students/740707954/src/ood/oldSrp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package ood.oldSrp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/740707954/src/ood/oldSrp/DBUtil.java b/students/740707954/src/ood/oldSrp/DBUtil.java deleted file mode 100644 index 2397e15ad1..0000000000 --- a/students/740707954/src/ood/oldSrp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package ood.oldSrp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/740707954/src/ood/oldSrp/MailUtil.java b/students/740707954/src/ood/oldSrp/MailUtil.java deleted file mode 100644 index 71c229b37d..0000000000 --- a/students/740707954/src/ood/oldSrp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package ood.oldSrp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/740707954/src/ood/oldSrp/PromotionMail.java b/students/740707954/src/ood/oldSrp/PromotionMail.java deleted file mode 100644 index 2edbd5bf46..0000000000 --- a/students/740707954/src/ood/oldSrp/PromotionMail.java +++ /dev/null @@ -1,180 +0,0 @@ -package ood.oldSrp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File(System.getProperty("user.dir") + "/src/ood/oldSrp/product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - protected void setProductID(String productID) { - this.productID = productID; - - } - - protected String getproductID() { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID + "' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 " + name + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } catch (Exception e) { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/740707954/src/ood/oldSrp/product_promotion.txt b/students/740707954/src/ood/oldSrp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/740707954/src/ood/oldSrp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/75939388/.gitignore b/students/75939388/.gitignore deleted file mode 100644 index d3a81f6bdb..0000000000 --- a/students/75939388/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -target/ -.idea/ -ood/target/ -datastrure/target/ - -*.class -*.jar -*.war -*.zip -*.iml diff --git a/students/75939388/datastrure/pom.xml b/students/75939388/datastrure/pom.xml deleted file mode 100644 index b17b9fe45f..0000000000 --- a/students/75939388/datastrure/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - season2 - learning2017 - 2.0-SEASON2 - - 4.0.0 - - datastrure - - - \ No newline at end of file diff --git a/students/75939388/datastrure/src/main/java/tree/BinaryTreeNode.java b/students/75939388/datastrure/src/main/java/tree/BinaryTreeNode.java deleted file mode 100644 index f0802fdceb..0000000000 --- a/students/75939388/datastrure/src/main/java/tree/BinaryTreeNode.java +++ /dev/null @@ -1,10 +0,0 @@ -package tree; - -/** - * Created by Tee on 2017/6/15. - */ -public class BinaryTreeNode { - /** - * 二叉树 - */ -} diff --git a/students/75939388/datastrure/src/test/java/tree/BinaryTreeNodeTest.java b/students/75939388/datastrure/src/test/java/tree/BinaryTreeNodeTest.java deleted file mode 100644 index 90705ddca2..0000000000 --- a/students/75939388/datastrure/src/test/java/tree/BinaryTreeNodeTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package tree; - -import org.junit.Before; -import org.junit.Test; - -/** - * Created by Tee on 2017/6/15. - */ -public class BinaryTreeNodeTest { - - BinaryTreeNode tree; - - @Before - public void init(){ - tree = new BinaryTreeNode(); - } - - @Test - public void test1(){ - - } -} diff --git a/students/75939388/ood/pom.xml b/students/75939388/ood/pom.xml deleted file mode 100644 index e6a1b1de5a..0000000000 --- a/students/75939388/ood/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - season2 - learning2017 - 2.0-SEASON2 - - 4.0.0 - - ood - - - \ No newline at end of file diff --git a/students/75939388/ood/src/main/java/srp/original/PromotionMail.java b/students/75939388/ood/src/main/java/srp/original/PromotionMail.java deleted file mode 100644 index 8deec60166..0000000000 --- a/students/75939388/ood/src/main/java/srp/original/PromotionMail.java +++ /dev/null @@ -1,202 +0,0 @@ -package srp.original; - -import srp.refactor.configuration.Configuration; -import srp.refactor.configuration.ConfigurationKeys; -import srp.refactor.util.DBUtil; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0){} -// MailContentUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { -// MailContentUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/PromotionMailClient.java b/students/75939388/ood/src/main/java/srp/refactor/PromotionMailClient.java deleted file mode 100644 index 6335f4f86e..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/PromotionMailClient.java +++ /dev/null @@ -1,72 +0,0 @@ -package srp.refactor; - -import srp.refactor.configuration.Configuration; -import srp.refactor.configuration.ConfigurationKeys; -import srp.refactor.domain.Product; -import srp.refactor.domain.User; -import srp.refactor.mail.MailClient; -import srp.refactor.services.ProductService; -import srp.refactor.services.UserService; - -import java.util.List; - -/** - * 在原有的MailClient邮件功能的基础上修改而来的促销邮件发送端 - * - * 根据SRP原则,这个邮件客户端只有两个职责: - * 解析传进来的List,然后批量保存至超类的待发送邮件列表中 - * 全部解析完成(数据量较大时需要设置阈值)后 - * 由用户发起发送请求 - * - * Created by Tee on 2017/6/15. - */ -public class PromotionMailClient extends MailClient { - - private static Configuration config = new Configuration(); - - private UserService userService = new UserService(); - private ProductService productService = new ProductService(); - - private void init(){ - super.initMailSettings( - config.getProperty(ConfigurationKeys.SMTP_SERVER), - config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER), - config.getProperty(ConfigurationKeys.EMAIL_ADMIN) - ); - } - - public PromotionMailClient(){ - init(); - } - - @Override - public void createMail(String toAddress, String subject, String message){ - this.toAddress = toAddress; - this.subject = subject; - this.message = message; - super.addToMailList(); - } - - /** - * 批量编写邮件 - * @param promotionProducts 促销中的所有产品 - * @throws Exception 查询sql时报的异常,这里选择不处理 - */ - public void batchWrite(List promotionProducts) throws Exception{ - if(promotionProducts.isEmpty()){ - throw new RuntimeException("没有商品待促销不能为空"); - } - for(Product product : promotionProducts){ - String querySql = productService.getLoadQuerySql(product.getProductId()); - List userList = userService.getUserList(querySql); - for(User user : userList){ - String add = user.getEmail(); - String subj = "您关注的" + product.getProductDesc() + "已降价"; - String msg = "尊敬的 "+ user.getName() +", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - - createMail(add, subj, msg); - } - } - } - -} \ No newline at end of file diff --git a/students/75939388/ood/src/main/java/srp/refactor/configuration/Configuration.java b/students/75939388/ood/src/main/java/srp/refactor/configuration/Configuration.java deleted file mode 100644 index b3b24944d2..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/configuration/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package srp.refactor.configuration; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/configuration/ConfigurationKeys.java b/students/75939388/ood/src/main/java/srp/refactor/configuration/ConfigurationKeys.java deleted file mode 100644 index 9b1cfe8dcc..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/configuration/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package srp.refactor.configuration; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/domain/Product.java b/students/75939388/ood/src/main/java/srp/refactor/domain/Product.java deleted file mode 100644 index 955ab28490..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/domain/Product.java +++ /dev/null @@ -1,30 +0,0 @@ -package srp.refactor.domain; - -/** - * Created by Tee on 2017/6/16. - */ -public class Product { - private String productId; - private String productDesc; - - public Product(String productId, String productDesc){ - this.productId = productId; - this.productDesc = productDesc; - } - - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/domain/User.java b/students/75939388/ood/src/main/java/srp/refactor/domain/User.java deleted file mode 100644 index 4167396f89..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/domain/User.java +++ /dev/null @@ -1,30 +0,0 @@ -package srp.refactor.domain; - -/** - * Created by Tee on 2017/6/16. - */ -public class User { - private String name; - private String email; - - public User(String name, String email){ - this.name = name; - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/mail/MailClient.java b/students/75939388/ood/src/main/java/srp/refactor/mail/MailClient.java deleted file mode 100644 index 3ca783fe0d..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/mail/MailClient.java +++ /dev/null @@ -1,95 +0,0 @@ -package srp.refactor.mail; - -import org.apache.commons.lang3.StringUtils; -import srp.refactor.services.MailService; -import srp.refactor.util.Constants; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * 具有初始化设置、可以批量发送邮件的邮件客户端 - * - * Created by Tee on 2017/6/15. - */ -public abstract class MailClient { - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected List mailList; - - private MailService mailService = new MailService(); - /** - * 初始化邮件设置 - * - * @param smtpHost smtp主机 - * @param altSmtpHost 备用smtp主机 - * @param fromAddress 发件人地址 - */ - protected void initMailSettings(String smtpHost, String altSmtpHost, String fromAddress){ - this.smtpHost = smtpHost; - this.altSmtpHost = altSmtpHost; - this.fromAddress = fromAddress; - this.mailList = new ArrayList<>(); - } - - public abstract void createMail(String toAddress, String subject, String message); - - /** - * 撰写邮件 - */ - protected void addToMailList(){ - HashMap mailToSend = new HashMap<>(); - mailToSend.put(Constants.EmailInfo.TO_ADDRESS_KEY.getKey(), this.toAddress); - mailToSend.put(Constants.EmailInfo.SUBJECT_KEY.getKey(), this.subject); - mailToSend.put(Constants.EmailInfo.MESSAGE_KEY.getKey(), this.message); - this.mailList.add(mailToSend); - } - - private boolean isInit(){ - return StringUtils.isNotBlank(this.smtpHost) && - StringUtils.isNotBlank(this.altSmtpHost) && - StringUtils.isNotBlank(this.fromAddress); - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - /** - * 调用邮件邮件服务器来收发邮件 - * @param debug - */ - public void batchSend(boolean debug){ - if(!isInit()){ - throw new RuntimeException("邮件客户端还未做配置"); - } - - mailService.batchSend(debug, this, this.mailList); - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/services/MailService.java b/students/75939388/ood/src/main/java/srp/refactor/services/MailService.java deleted file mode 100644 index 27bcb38389..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/services/MailService.java +++ /dev/null @@ -1,66 +0,0 @@ -package srp.refactor.services; - -import org.apache.commons.lang3.StringUtils; -import srp.refactor.mail.MailClient; -import srp.refactor.util.Constants; - -import java.util.HashMap; -import java.util.List; - -/** - * 邮件收发服务 - * - * Created by Tee on 2017/6/16. - */ -public class MailService { - - - /** - * 批量发送 - */ - public void batchSend(boolean debug, MailClient mailClient, List mailList){ - if(mailList.isEmpty()){ - System.out.println("没有邮件要发送"); - return; - } - int size = mailList.size(); - System.out.println("开始发送邮件, 总邮件数=" + size); - int i = 0; - for(HashMap mail : mailList){ - i++; - String toAddress = (String)mail.get(Constants.EmailInfo.TO_ADDRESS_KEY.getKey()); - if(StringUtils.isBlank(toAddress)){ - System.out.println("收件人地址为空,此邮件发送中止"); - continue; - } - - String subject = (String)mail.get(Constants.EmailInfo.SUBJECT_KEY.getKey()); - String message = (String)mail.get(Constants.EmailInfo.MESSAGE_KEY.getKey()); - - System.out.println("\n正在发送第[" + i + "]封邮件"); - System.out.println("=========================================================="); - try{ - sendEmail(toAddress, mailClient.getFromAddress(), subject, message, mailClient.getSmtpHost(), debug); - }catch(Exception e){ - sendEmail(toAddress, mailClient.getFromAddress(), subject, message, mailClient.getAltSmtpHost(), debug); - } - System.out.println("=========================================================="); - System.out.println("第[" + i + "]封邮件发送完成"); - } - } - - /** - * 发送邮件客户端的功能和责任,所以移入邮件客户端,但是只能被基础客户端调用 - * 子类只能通过batchSend来发送邮件 - */ - public void sendEmail(String toAddress, String fromAddress, String subject, - String message, String smtpHost, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.print(buffer.toString()); - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/services/ProductService.java b/students/75939388/ood/src/main/java/srp/refactor/services/ProductService.java deleted file mode 100644 index a1484520d1..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/services/ProductService.java +++ /dev/null @@ -1,38 +0,0 @@ -package srp.refactor.services; - -import org.apache.commons.lang3.StringUtils; -import srp.refactor.domain.Product; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Tee on 2017/6/16. - */ -public class ProductService { - - public Product setPromotionInfo(String productId, String productDesc){ - return new Product(productId, productDesc); - } - - public String getLoadQuerySql(String productID){ - if(StringUtils.isBlank(productID)){ - throw new RuntimeException("没有获取到productID"); - } - - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set, productID -> " + productID); - return sendMailQuery; - } - - public List getPromotionInfoList(List data){ - List list = new ArrayList<>(); - for(int i = 0; i < data.size(); i += 2){ - list.add(setPromotionInfo(data.get(i), data.get(i + 1))); - } - return list; - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/services/UserService.java b/students/75939388/ood/src/main/java/srp/refactor/services/UserService.java deleted file mode 100644 index 403c9d8a95..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/services/UserService.java +++ /dev/null @@ -1,31 +0,0 @@ -package srp.refactor.services; - -import srp.refactor.domain.User; -import srp.refactor.util.DBUtil; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * Created by Tee on 2017/6/16. - */ -public class UserService { - - public User setUser(String userName, String email){ - return new User(userName, email); - } - - public List getUserList(String sql){ - List userMapList = DBUtil.query(sql); - List userList = new ArrayList<>(); - for(HashMap map : userMapList){ - userList.add(setUser( - (String)map.get("NAME"), - (String)map.get("EMAIL")) - ); - } - - return userList; - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/util/Constants.java b/students/75939388/ood/src/main/java/srp/refactor/util/Constants.java deleted file mode 100644 index 88633b1faf..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/util/Constants.java +++ /dev/null @@ -1,21 +0,0 @@ -package srp.refactor.util; - -/** - * Created by Tee on 2017/6/16. - */ -public class Constants { - public enum EmailInfo{ - TO_ADDRESS_KEY("toAddress"), - SUBJECT_KEY("subject"), - MESSAGE_KEY("message"); - - private String key; - EmailInfo(String key){ - this.key = key; - } - - public String getKey(){ - return this.key; - } - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/util/DBUtil.java b/students/75939388/ood/src/main/java/srp/refactor/util/DBUtil.java deleted file mode 100644 index 00aa263606..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/util/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package srp.refactor.util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/75939388/ood/src/main/java/srp/refactor/util/FileUtil.java b/students/75939388/ood/src/main/java/srp/refactor/util/FileUtil.java deleted file mode 100644 index a1fbdca905..0000000000 --- a/students/75939388/ood/src/main/java/srp/refactor/util/FileUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -package srp.refactor.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Tee on 2017/6/15. - */ -public class FileUtil { - - public static List readFile(File file)throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String tmp = null; - List data = new ArrayList<>(); - while((tmp = br.readLine()) != null){ - String[] temp = tmp.split(" "); - data.add(temp[0]); - data.add(temp[1]); - } - - return data; - } catch (IOException e) { - throw new IOException(e); - } finally { - try{ - br.close(); - }catch(Exception e){ - e.printStackTrace(); - } - - } - } -} diff --git a/students/75939388/ood/src/main/resources/ood_demo_file/product_promotion.txt b/students/75939388/ood/src/main/resources/ood_demo_file/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/75939388/ood/src/main/resources/ood_demo_file/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/75939388/ood/src/test/java/srp/SrpTest.java b/students/75939388/ood/src/test/java/srp/SrpTest.java deleted file mode 100644 index c55f54b1d0..0000000000 --- a/students/75939388/ood/src/test/java/srp/SrpTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package srp; - -import org.junit.Before; -import org.junit.Test; -import srp.refactor.PromotionMailClient; -import srp.refactor.domain.Product; -import srp.refactor.services.ProductService; -import srp.refactor.util.FileUtil; - -import java.io.File; -import java.util.List; - -/** - * Created by Tee on 2017/6/15. - */ -public class SrpTest { - - PromotionMailClient promotionMail = null; - - private static int in = 0; - - @Before - public void init(){ - - } - - /** - * 重构后的代码尝试运行 - */ - @Test - public void runTrial() throws Exception{ - File file = new File("/Users/Tee/Code/learning2017/season2/coding2017/" + - "students/75939388/ood/src/main/resources/ood_demo_file/product_promotion.txt"); - List data = FileUtil.readFile(file); - - PromotionMailClient promotionMail = new PromotionMailClient(); - List promotionProducts = new ProductService().getPromotionInfoList(data); - promotionMail.batchWrite(promotionProducts); - promotionMail.batchSend(false); - } -} diff --git a/students/75939388/pom.xml b/students/75939388/pom.xml deleted file mode 100644 index e5dd20227d..0000000000 --- a/students/75939388/pom.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - 4.0.0 - - learning2017 - season2 - 2.0-SEASON2 - - - - datastrure - - ood - - - https://github.com/macvis/coding2017 - - 2017编程能力提高,第二季。 - teacher:刘欣 - gitHub: https://github.com/onlyliuxin/coding2017.git - student: TerrenceWen - - - - - TerrenceWen - https://github.com/macvis/ - macvis@126.com - - - - - 1.8 - 1.8 - UTF-8 - UTF-8 - 1.8 - 1.8 - UTF-8 - - - - - - aliyun - aliyun - http://maven.aliyun.com/nexus/content/groups/public - - true - never - - - false - - - - - - - - junit - junit - 4.12 - - - - - dom4j - dom4j - 1.6.1 - - - - - jaxen - jaxen - 1.1.6 - - - - - commons-io - commons-io - 2.5 - - - org.apache.commons - commons-lang3 - 3.5 - - - commons-codec - commons-codec - 1.10 - - - org.apache.commons - commons-collections4 - 4.1 - - - \ No newline at end of file diff --git a/students/759412759/ood-assignment/pom.xml b/students/759412759/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/759412759/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateFormater.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateFormater.java deleted file mode 100644 index 18b61a77b3..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateFormater.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.ocp; - -/** - * 日期类型格式化模板 - * Created by Tudou on 2017/6/19. - */ -public class DateFormater extends Formater { - - @Override - public String formatMessage(String message) { - String txtDate = DateUtil.getCurrentDateAsString(); - return txtDate + " : " + message; - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java deleted file mode 100644 index b6cf28c096..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class DateUtil { - - public static String getCurrentDateAsString() { - - return null; - } - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Formater.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Formater.java deleted file mode 100644 index 7a94fea749..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Formater.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.coderising.ood.ocp; - -/** - * 格式化打印参数基类 - * Created by Tudou on 2017/6/19. - */ -public class Formater { - - public String formatMessage(String message){ - return message; - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Logger.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Logger.java deleted file mode 100644 index a9f62d6a66..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Logger.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.ood.ocp; - -public class Logger { - - private Printer printer; - private Formater formater; - - - public Logger(Printer printer, Formater formater) { - this.printer = printer; - this.formater = formater; - } - - - public void log(String msg) { - String logMsg = formater.formatMessage(msg); - printer.print(logMsg); - } -} - diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/MailPrintUtil.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/MailPrintUtil.java deleted file mode 100644 index d522e5e7d2..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/MailPrintUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - - -public class MailPrintUtil extends Printer { - - @Override - public void print(String msg) { - - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Printer.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Printer.java deleted file mode 100644 index caa28fbf0c..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/Printer.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.coderising.ood.ocp; - -/** - * Created by Tudou on 2017/6/19. - */ -public class Printer { - - public void print(String msg){ - System.out.println(msg); - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/SMSPrintUtil.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/SMSPrintUtil.java deleted file mode 100644 index 204256f44b..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/ocp/SMSPrintUtil.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.ocp; - -public class SMSPrintUtil extends Printer { - - @Override - public void print(String msg) { - - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index 7616041c05..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public static String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 0bef2d57c9..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List> query(String sql){ - List> userList = new ArrayList>(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - return userList; - } - - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java deleted file mode 100644 index 49f0db842d..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Mail.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.coderising.ood.srp; - - -public class Mail { - - private String smtpHost; - private String altSmtpHost; - private String fromAddress; - - private String toAddress; - private String subject; - private String message; - private boolean debug; - - - public Mail() { - - } - - public void init() { - smtpHost = Configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = Configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = Configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean getDebug() { - return debug; - } - - public void setDebug(boolean debug) { - this.debug = debug; - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 2820127c4b..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp; - - -public class MailUtil { - - public static boolean sendEmail(Mail mail) { - //假装发了一封邮件 - if(mail.getToAddress().length() < 0){ - return Boolean.FALSE; - } - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(mail.getFromAddress()).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSmtpHost()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - buffer.append("smtpHost:").append(mail.getSmtpHost()).append("\n"); - buffer.append("isDebug:").append(mail.getDebug() ? "1" : "0").append("\n"); - System.out.println(buffer.toString()); - return Boolean.TRUE; - } - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 860f584faf..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp; - -/** - * Created by Tudou on 2017/6/16. - */ -public class Product { - - private String productID; - private String productDesc; - - - public Product() { - - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ProductService.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ProductService.java deleted file mode 100644 index 18674e0101..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/ProductService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.*; - -/** - * Created by Tudou on 2017/6/16. - */ -public class ProductService { - - public static Product loadProductFromFile(String filePath) throws IOException { - Product product = new Product(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(new File(filePath))); - String temp = br.readLine(); - String[] data = temp.split(" "); - - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return product; - } - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 015b68ff10..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.*; -import java.util.*; - -public class PromotionMail { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - UserService userService = new UserService(); - PromotionMail pe = new PromotionMail(); - - String path = "F:\\IDEA_PRO_01\\coderrising\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"; - Product product = ProductService.loadProductFromFile(path); - List> list = userService.loadMailingList(product.getProductID()); - - pe.sendEMails(list,product,Boolean.FALSE); - } - - private void sendEMails(List> mailingList, Product product, boolean debug) throws IOException { - System.out.println("开始发送邮件"); - if (mailingList != null) { - Iterator> iter = mailingList.iterator(); - while (iter.hasNext()) { - HashMap userInfo = iter.next(); - Mail mail = getMail(product, debug, userInfo); - try { - boolean flag = MailUtil.sendEmail(mail); - if (!flag) { - mail.setSmtpHost(mail.getAltSmtpHost()); - MailUtil.sendEmail(mail); - } - } catch (Exception e) { - try { - mail.setSmtpHost(mail.getAltSmtpHost()); - MailUtil.sendEmail(mail); - } catch (Exception e2) { - System.out.println("通过备用 SMTP 服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } else { - System.out.println("没有邮件发送"); - } - } - - private Mail getMail(Product product, boolean debug, HashMap userInfo) { - Mail mail = new Mail(); - String subject = "您关注的产品降价了"; - String message = "尊敬的 " + userInfo.get(NAME_KEY) + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"; - - mail.init(); - mail.setToAddress(userInfo.get(EMAIL_KEY)); - mail.setSubject(subject); - mail.setMessage(message); - mail.setDebug(debug); - return mail; - } -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java deleted file mode 100644 index 80dc46eda8..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/UserService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.List; - -/** - * Created by Tudou on 2017/6/16. - */ -public class UserService { - - public List> loadMailingList(String productId) throws Exception { - String sql = "Select name from subscriptions " - + "where product_id= '" + productId + "' " - + "and send_mail=1 "; - return DBUtil.query(sql); - } - -} diff --git a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index 46c64c6e64..0000000000 --- a/students/759412759/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1 +0,0 @@ -P8756 iPhone8 \ No newline at end of file diff --git a/students/765324639/ood/ood-assignment/pom.xml b/students/765324639/ood/ood-assignment/pom.xml deleted file mode 100644 index cb72faa5f8..0000000000 --- a/students/765324639/ood/ood-assignment/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 60c50b34f0..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - UserInfo userInfo = new UserInfo(); - userInfo.setUsername("User" + i); - userInfo.setEmail("aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java deleted file mode 100644 index dcb42dcc95..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailInfo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp; - -public class MailInfo { - private String fromAddress; - private String toAddress; - private String subject; - private String message; - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 614de5a438..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class MailUtil { - - public static void sendEmail(List mailInfoList, boolean debug) { - if (mailInfoList == null && mailInfoList.size() == 0) { - System.out.println("无邮件发送"); - return; - } - System.out.println("开始发送邮件"); - for (MailInfo mailInfo : mailInfoList) { - sendEmail(mailInfo, debug); - } - } - - public static void sendEmail(MailInfo mailInfo, boolean debug) { - Configuration configuration = new Configuration(); - String smtpServer = configuration.getProperty(ConfigurationKeys.SMTP_SERVER); - String altSmtpServer = configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - String emailAdmin = configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN); - try { - send(mailInfo.getToAddress(), emailAdmin, mailInfo.getSubject(), mailInfo.getMessage(), smtpServer, debug); - } catch (Exception e) { - try { - send(mailInfo.getToAddress(), emailAdmin, mailInfo.getSubject(), mailInfo.getMessage(), altSmtpServer, debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - public static void send(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 8887870547..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - -public class Product { - private String id; - private String desc; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - @Override - public String toString() { - return "Product{" + - "id='" + id + '\'' + - ", desc='" + desc + '\'' + - '}'; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfoReader.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfoReader.java deleted file mode 100644 index 3e1660608d..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/ProductInfoReader.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class ProductInfoReader { - - protected static List readProductInfo() { - File file = new File("E:\\coding2017\\students\\765324639\\ood\\ood-assignment\\src\\main\\java\\com\\coderising\\ood\\srp\\product_promotion.txt"); - List productList = new ArrayList<>(); - try (BufferedReader br = new BufferedReader(new FileReader(file));) { - String temp = null; - while ((temp = br.readLine()) != null) { - String[] data = temp.split(" "); - Product product = new Product(); - product.setId(data[0]); - product.setDesc(data[1]); - productList.add(product); - System.out.println("产品ID = " + data[0]); - System.out.println("产品描述 = " + data[1] + "\n"); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return productList; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index b47f451636..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - - List productList = ProductInfoReader.readProductInfo(); - - for (Product product : productList) { - List userInfoList = UserInfoReader.readUserInfo(product.getId()); - List mailInfoList = generateEmails(product, userInfoList); - boolean emailDebug = false; - MailUtil.sendEmail(mailInfoList, emailDebug); - } - - } - - public static List generateEmails(Product product, List userInfoList) { - List mailInfoList = new ArrayList<>(); - for (UserInfo userInfo : userInfoList) { - MailInfo mailInfo = new MailInfo(); - mailInfo.setToAddress(userInfo.getEmail()); - mailInfo.setSubject("您关注的产品降价了"); - mailInfo.setMessage("尊敬的 "+ userInfo.getUsername() +", 您关注的产品 " + product.getDesc() + " 降价了,欢迎购买!"); - mailInfoList.add(mailInfo); - } - return mailInfoList; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java deleted file mode 100644 index c4f501a3ff..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfo.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.coderising.ood.srp; - -public class UserInfo { - private String username; - private String email; - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - @Override - public String toString() { - return "UserInfo{" + - "username='" + username + '\'' + - ", email='" + email + '\'' + - '}'; - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoReader.java b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoReader.java deleted file mode 100644 index edfe66d829..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/UserInfoReader.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class UserInfoReader { - - public static List readUserInfo(String productID) { - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/765324639/ood/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/769232552/season_two/pom.xml b/students/769232552/season_two/pom.xml deleted file mode 100644 index e71b8c044d..0000000000 --- a/students/769232552/season_two/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - 4.0.0 - - com - season_two - 1.0-SNAPSHOT - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - - \ No newline at end of file diff --git a/students/769232552/season_two/src/main/java/work01/srp/DBUtil.java b/students/769232552/season_two/src/main/java/work01/srp/DBUtil.java deleted file mode 100644 index 89801f6621..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package work01.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/769232552/season_two/src/main/java/work01/srp/Mail.java b/students/769232552/season_two/src/main/java/work01/srp/Mail.java deleted file mode 100644 index 79ddb9c94a..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/Mail.java +++ /dev/null @@ -1,73 +0,0 @@ -package work01.srp; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; - -public class Mail { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - private Product product; - private String toAddress; - private String subject; - private String message; - private String sendMailQuery; - - - public Mail(Product product){ - this.product = product; - } - - public List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - public void generateMail(HashMap userInfo) throws IOException { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0){ - setMessage(userInfo); - setLoadQuery(); - setToAddress(toAddress); - } - } - - public String getMessage() { - return message; - } - - public void setMessage(HashMap userInfo) throws IOException { - String name = (String) userInfo.get(NAME_KEY); - this.message = "尊敬的 "+name+", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!" ; - this.subject = "您关注的产品降价了"; - } - - public String getSubject() { - return subject; - } - - public void setLoadQuery() { - this.sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() +"' " - + "and send_mail=1 "; - } - - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getToAddress() { - return toAddress; - } - - public Product getProduct() { - return product; - } - - public void setProduct(Product product) { - this.product = product; - } -} diff --git a/students/769232552/season_two/src/main/java/work01/srp/MailBox.java b/students/769232552/season_two/src/main/java/work01/srp/MailBox.java deleted file mode 100644 index a7fccfaae9..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/MailBox.java +++ /dev/null @@ -1,43 +0,0 @@ -package work01.srp; - -public class MailBox { - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getSmtpHost() { - return smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void sendEmail(Mail mail, String smtpHost, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(mail.getToAddress()).append("\n"); - buffer.append("Subject:").append(mail.getSubject()).append("\n"); - buffer.append("Content:").append(mail.getMessage()).append("\n"); - buffer.append("SMTPHost:").append(smtpHost).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/769232552/season_two/src/main/java/work01/srp/MailBoxConfiguration.java b/students/769232552/season_two/src/main/java/work01/srp/MailBoxConfiguration.java deleted file mode 100644 index 024119cd18..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/MailBoxConfiguration.java +++ /dev/null @@ -1,62 +0,0 @@ -package work01.srp; -import java.util.HashMap; -import java.util.Map; - -public class MailBoxConfiguration { - - static Map configurations = new HashMap(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - - } - - private MailBox mailBox; - - public MailBoxConfiguration(){} - - public void config(){ - setSMTPHost(); - setAltSMTPHost(); - setFromAddress(); - } - - public void setMailBox(MailBox mailBox) { - this.mailBox = mailBox; - } - - private void setSMTPHost() { - this.mailBox.setSmtpHost(getProperty(ConfigurationKeys.SMTP_SERVER)); - } - - - private void setAltSMTPHost() { - this.mailBox.setAltSmtpHost(getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - } - - - private void setFromAddress() { - this.mailBox.setFromAddress(getProperty(ConfigurationKeys.EMAIL_ADMIN)); - } - - - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - private String getProperty(String key) { - - return configurations.get(key); - } - - public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - - } -} diff --git a/students/769232552/season_two/src/main/java/work01/srp/Product.java b/students/769232552/season_two/src/main/java/work01/srp/Product.java deleted file mode 100644 index 2eff922d22..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/Product.java +++ /dev/null @@ -1,28 +0,0 @@ -package work01.srp; - - -public class Product { - - protected String productID = null; - - - protected String productDesc = null; - - - public void setProductID(String productID) { - this.productID = productID; - } - - public void setProductDesc(String desc) { - this.productDesc = desc; - } - - - public String getProductDesc() { - return productDesc; - } - - public String getProductID() { - return productID; - } -} diff --git a/students/769232552/season_two/src/main/java/work01/srp/PromotionMail.java b/students/769232552/season_two/src/main/java/work01/srp/PromotionMail.java deleted file mode 100644 index 52222aea0d..0000000000 --- a/students/769232552/season_two/src/main/java/work01/srp/PromotionMail.java +++ /dev/null @@ -1,92 +0,0 @@ -package work01.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - public static void main(String[] args) throws Exception { - - File f = new File("D:\\worksapce\\gitRepo\\coding2017\\students\\769232552\\season_two\\src\\main\\resources\\work01\\srp\\product_promotion.txt"); - boolean emailDebug = false; - - //配置邮箱 - MailBox mailBox = new MailBox(); - MailBoxConfiguration mailBoxConfiguration = new MailBoxConfiguration(); - mailBoxConfiguration.setMailBox(mailBox); - mailBoxConfiguration.config(); - - //将促销信息发送邮件 - List products = readProductFile(f);//获取促销产品信息 - for (Product product : products){ - Mail mail = new Mail(product); //生成邮件(邮件内容,收发人信息) - sendPromotionMails(emailDebug,mail,mailBox); - } - - } - - - - public static void sendPromotionMails(boolean debug, Mail mail, MailBox mailBox) throws Exception { - - System.out.println("开始发送邮件"); - - List mailingList = mail.loadMailingList(); //获取收件人列表 - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - mail.generateMail((HashMap) iter.next()); //生成邮件内容 - try { - if (mail.getToAddress().length() > 0) - mailBox.sendEmail(mail, mailBox.getSmtpHost(), debug); - } catch (Exception e) { - try { - mailBox.sendEmail(mail, mailBox.getAltSmtpHost(), debug); - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - } else { - System.out.println("没有邮件发送"); - - } - } - - - public static List readProductFile(File file) throws IOException - { - List list = new ArrayList(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp; - while ((temp = br.readLine()) != null){ - String[] data = temp.split(" "); - - Product product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - list.add(product); - - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - } - - return list; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - -} diff --git a/students/769232552/season_two/src/main/resources/work01/srp/product_promotion.txt b/students/769232552/season_two/src/main/resources/work01/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/769232552/season_two/src/main/resources/work01/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/785396327/first/ood/srp/ConfigParser.java b/students/785396327/first/ood/srp/ConfigParser.java deleted file mode 100644 index 87e00e707e..0000000000 --- a/students/785396327/first/ood/srp/ConfigParser.java +++ /dev/null @@ -1,9 +0,0 @@ -package first.ood.srp; - -/** - * Created by william on 2017/6/14. - */ -public abstract class ConfigParser { - - abstract void parseInfoFromConfig(Email email); -} diff --git a/students/785396327/first/ood/srp/Configuration.java b/students/785396327/first/ood/srp/Configuration.java deleted file mode 100644 index 2d4130423e..0000000000 --- a/students/785396327/first/ood/srp/Configuration.java +++ /dev/null @@ -1,28 +0,0 @@ -package first.ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap(); - - - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/785396327/first/ood/srp/ConfigurationKeys.java b/students/785396327/first/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 28de2ced0a..0000000000 --- a/students/785396327/first/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,10 +0,0 @@ -package first.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - public static final String NAME_KEY = "NAME"; - public static final String EMAIL_KEY = "EMAIL"; -} diff --git a/students/785396327/first/ood/srp/DBParser.java b/students/785396327/first/ood/srp/DBParser.java deleted file mode 100644 index 3e49e6abd7..0000000000 --- a/students/785396327/first/ood/srp/DBParser.java +++ /dev/null @@ -1,24 +0,0 @@ -package first.ood.srp; - -import java.util.HashMap; -import java.util.List; - -/** - * Created by william on 2017/6/14. - */ -public abstract class DBParser { - protected String sql; - protected Object[] params; - - protected DBParser(String sql, Object[] params) { - this.sql = sql; - this.params = params; - } - - protected List parseInfoFromDB(T email) { - List> data = DBUtil.query(sql, params); - return convertData(email, data); - } - - abstract List convertData(T email, List> data); -} diff --git a/students/785396327/first/ood/srp/DBUtil.java b/students/785396327/first/ood/srp/DBUtil.java deleted file mode 100644 index 473b8b1ca4..0000000000 --- a/students/785396327/first/ood/srp/DBUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package first.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List> query(String sql, Object[] params) { - formateSQL(sql, params); - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - Map userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } - - private static String formateSQL(String sql, Object[] params) { - if (StringUtils.isEmpty(sql)) - throw new RuntimeException("empty sql"); - String[] sqlFaction = sql.split("\\?"); - if (sqlFaction.length - 1 != params.length) - throw new RuntimeException("wrong number of parameters"); - for (int i = 0; i < params.length; i++) { - sql = sql.replaceFirst("\\?", "'" + params[i].toString() + "'"); - } - - return sql; - } - -} diff --git a/students/785396327/first/ood/srp/Email.java b/students/785396327/first/ood/srp/Email.java deleted file mode 100644 index ebca19e579..0000000000 --- a/students/785396327/first/ood/srp/Email.java +++ /dev/null @@ -1,46 +0,0 @@ -package first.ood.srp; - -/** - * Created by william on 2017/6/12. - */ -public class Email { - protected String smtpHost; - protected String altSmtpHost; - protected String fromAddress; - protected String toAddress; - protected String subject; - protected String message; - - protected void setSMTPHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - protected void setAltSMTPHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - - } - - protected void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - protected void setMessage(String message) { - this.message = message; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } -} diff --git a/students/785396327/first/ood/srp/EmailParser.java b/students/785396327/first/ood/srp/EmailParser.java deleted file mode 100644 index e6f422b52f..0000000000 --- a/students/785396327/first/ood/srp/EmailParser.java +++ /dev/null @@ -1,26 +0,0 @@ -package first.ood.srp; - -import java.util.List; - -/** - * Created by william on 2017/6/12. - */ -public class EmailParser { - private ConfigParser configParser; - private FileParser fileParser; - private DBParser dbParser; - - public EmailParser(ConfigParser configParser,FileParser fileParser,DBParser dbParser) { - this.configParser = configParser; - this.fileParser = fileParser; - this.dbParser = dbParser; - } - - public List parseEmailList() { - PromotionMail promotionMail = new PromotionMail(); - configParser.parseInfoFromConfig(promotionMail); - fileParser.parseInfoFromFile(promotionMail); - return dbParser.parseInfoFromDB(promotionMail); - } - -} diff --git a/students/785396327/first/ood/srp/FileParser.java b/students/785396327/first/ood/srp/FileParser.java deleted file mode 100644 index 1f14c11389..0000000000 --- a/students/785396327/first/ood/srp/FileParser.java +++ /dev/null @@ -1,38 +0,0 @@ -package first.ood.srp; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; - -/** - * Created by gongxun on 2017/6/12. - */ -public abstract class FileParser { - protected String[] data; - - protected FileParser(String filePath) { - try { - if (StringUtils.isEmpty(filePath)) - throw new RuntimeException("init file parser must contains a legal file"); - readFile(filePath); - } catch (IOException e) { - throw new RuntimeException("parse file cause errors"); - } - } - - private void readFile(String filePath) throws IOException { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(filePath)); - String temp = br.readLine(); - data = temp.split(" "); - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - protected abstract void parseInfoFromFile(Email email); - -} diff --git a/students/785396327/first/ood/srp/MailSender.java b/students/785396327/first/ood/srp/MailSender.java deleted file mode 100644 index a2ed82db46..0000000000 --- a/students/785396327/first/ood/srp/MailSender.java +++ /dev/null @@ -1,33 +0,0 @@ -package first.ood.srp; - -import java.util.Iterator; -import java.util.List; - -/** - * Created by william on 2017/6/12. - */ -public class MailSender { - - private void sendMail(Email mail, boolean isDebug) { - if (!StringUtils.isEmpty(mail.toAddress)) - try { - MailUtil.sendEmail( - mail.toAddress, - mail.fromAddress, - mail.subject, - mail.message, - StringUtils.isEmpty(mail.smtpHost) == true ? mail.smtpHost : mail.altSmtpHost, - isDebug); - } catch (Exception e) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e.getMessage()); - } - } - - public void sendMailList(List mailList, boolean isDebug) { - if (mailList != null) { - for (Iterator iterator = mailList.iterator(); iterator.hasNext(); ) { - sendMail(iterator.next(), isDebug); - } - } - } -} diff --git a/students/785396327/first/ood/srp/MailUtil.java b/students/785396327/first/ood/srp/MailUtil.java deleted file mode 100644 index 2ec9de8c42..0000000000 --- a/students/785396327/first/ood/srp/MailUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package first.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } -} diff --git a/students/785396327/first/ood/srp/PromotionFileParser.java b/students/785396327/first/ood/srp/PromotionFileParser.java deleted file mode 100644 index 1d57b8de2e..0000000000 --- a/students/785396327/first/ood/srp/PromotionFileParser.java +++ /dev/null @@ -1,27 +0,0 @@ -package first.ood.srp; - -/** - * Created by william on 2017/6/14. - */ -public class PromotionFileParser extends FileParser { - - - public PromotionFileParser(String filePath) { - super(filePath); - } - - @Override - protected void parseInfoFromFile(Email email) { - PromotionMail promotionMail = (PromotionMail) email; - promotionMail.setProductID(parseProductID()); - promotionMail.setProductDesc(parseProductDesc()); - } - - private String parseProductID() { - return super.data[0]; - } - - private String parseProductDesc() { - return super.data[1]; - } -} diff --git a/students/785396327/first/ood/srp/PromotionMail.java b/students/785396327/first/ood/srp/PromotionMail.java deleted file mode 100644 index 48096fa54a..0000000000 --- a/students/785396327/first/ood/srp/PromotionMail.java +++ /dev/null @@ -1,22 +0,0 @@ -package first.ood.srp; - -public class PromotionMail extends Email { - private String productID; - private String productDesc; - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getproductID() { - return productID; - } - - public void setProductDesc(String desc) { - this.productDesc = desc; - } - - public String getProductDesc() { - return this.productDesc; - } -} diff --git a/students/785396327/first/ood/srp/PromotionMailConfigParser.java b/students/785396327/first/ood/srp/PromotionMailConfigParser.java deleted file mode 100644 index 6fd8feb08c..0000000000 --- a/students/785396327/first/ood/srp/PromotionMailConfigParser.java +++ /dev/null @@ -1,15 +0,0 @@ -package first.ood.srp; - -/** - * Created by william on 2017/6/14. - */ -public class PromotionMailConfigParser extends ConfigParser { - - @Override - void parseInfoFromConfig(Email email) { - Configuration configuration = new Configuration(); - email.setSMTPHost(configuration.getProperty(ConfigurationKeys.SMTP_SERVER)); - email.setFromAddress(configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - email.setAltSMTPHost(configuration.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - } -} diff --git a/students/785396327/first/ood/srp/PromotionMailDBParser.java b/students/785396327/first/ood/srp/PromotionMailDBParser.java deleted file mode 100644 index 55e740474f..0000000000 --- a/students/785396327/first/ood/srp/PromotionMailDBParser.java +++ /dev/null @@ -1,48 +0,0 @@ -package first.ood.srp; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * Created by william on 2017/6/14. - */ -public class PromotionMailDBParser extends DBParser { - - protected PromotionMailDBParser(String sql, Object[] params) { - super(sql, params); - } - - /** - * 由于sql参数需要运行时提供所以重写parseInfoFromDB方法 - * @param email - * @return - */ - @Override - protected List parseInfoFromDB(PromotionMail email) { - List> data = DBUtil.query(super.sql, new Object[]{email.getproductID()}); - return convertData(email, data); - } - - @Override - List convertData(PromotionMail email, List> data) { - List mailList = new ArrayList(); - for (HashMap map : data) { - email.setToAddress(parseToAddress(map)); - email.setMessage(parseMessage(map, email)); - email.setSubject("您关注的产品降价了"); - mailList.add(email); - } - return mailList; - } - - private String parseMessage(HashMap map, PromotionMail promotionMail) { - String name = map.get(ConfigurationKeys.NAME_KEY); - String message = "尊敬的 " + name + ", 您关注的产品 " + promotionMail.getProductDesc() + " 降价了,欢迎购买!"; - return message; - } - - private String parseToAddress(HashMap map) { - return map.get(ConfigurationKeys.EMAIL_KEY); - } -} diff --git a/students/785396327/first/ood/srp/SendMailTest.java b/students/785396327/first/ood/srp/SendMailTest.java deleted file mode 100644 index 2b54947c05..0000000000 --- a/students/785396327/first/ood/srp/SendMailTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package first.ood.srp; - -import java.util.List; - -/** - * Created by william on 2017/6/12. - */ -public class SendMailTest { - - public static void main(String[] args) { - String sql = "Select name from subscriptions where product_id= ? and send_mail=1"; - String filepath = "D:\\workspace\\IDEA\\homework\\coding2017_section2\\coding2017\\students\\785396327\\first\\ood\\srp\\product_promotion.txt"; - boolean isDebug = false; - - ConfigParser configParser = new PromotionMailConfigParser(); - FileParser fileParser = new PromotionFileParser(filepath); - DBParser DBParser = new PromotionMailDBParser(sql, null); - - EmailParser emailParser = new EmailParser(configParser, fileParser, DBParser); - List promotionMails = emailParser.parseEmailList(); - MailSender mailSender = new MailSender(); - mailSender.sendMailList(promotionMails, isDebug); - } -} diff --git a/students/785396327/first/ood/srp/StringUtils.java b/students/785396327/first/ood/srp/StringUtils.java deleted file mode 100644 index ec0483fa8b..0000000000 --- a/students/785396327/first/ood/srp/StringUtils.java +++ /dev/null @@ -1,17 +0,0 @@ -package first.ood.srp; - -/** - * Created by william on 2017/6/12. - */ -public class StringUtils { - - /** - * 判断字符串是否为空 - * - * @param str - * @return - */ - public static boolean isEmpty(String str) { - return str == null || str.trim().isEmpty(); - } -} diff --git a/students/785396327/first/ood/srp/product_promotion.txt b/students/785396327/first/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/785396327/first/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/799298900/src/com/leipengzj/Configuration.java b/students/799298900/src/com/leipengzj/Configuration.java deleted file mode 100644 index 26665ad1a9..0000000000 --- a/students/799298900/src/com/leipengzj/Configuration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.leipengzj; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} - -class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/799298900/src/com/leipengzj/DBUtil.java b/students/799298900/src/com/leipengzj/DBUtil.java deleted file mode 100644 index ec8ae4aba9..0000000000 --- a/students/799298900/src/com/leipengzj/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.leipengzj; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/799298900/src/com/leipengzj/MailInfo.java b/students/799298900/src/com/leipengzj/MailInfo.java deleted file mode 100644 index ecaa0dac9b..0000000000 --- a/students/799298900/src/com/leipengzj/MailInfo.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.leipengzj; - -/** - * Created by pl on 2017/6/19. - */ -public class MailInfo { - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - public String getSendMailQuery() { - return sendMailQuery; - } - - public void setSendMailQuery(String sendMailQuery) { - this.sendMailQuery = sendMailQuery; - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/799298900/src/com/leipengzj/MailUtil.java b/students/799298900/src/com/leipengzj/MailUtil.java deleted file mode 100644 index 42d4329f96..0000000000 --- a/students/799298900/src/com/leipengzj/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.leipengzj; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/799298900/src/com/leipengzj/PromotionMail.java b/students/799298900/src/com/leipengzj/PromotionMail.java deleted file mode 100644 index 5d152ac3cb..0000000000 --- a/students/799298900/src/com/leipengzj/PromotionMail.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.leipengzj; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - -// protected String sendMailQuery = null; -// -// -// protected String smtpHost = null; -// protected String altSmtpHost = null; -// protected String fromAddress = null; -// protected String toAddress = null; -// protected String subject = null; -// protected String message = null; -// -// protected String productID = null; -// protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - //发送邮件 - public PromotionMail(File file, boolean mailDebug) throws Exception { - MailInfo mi = new MailInfo(); - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(mi,file); - - - config = new Configuration(); - - mi.setSmtpHost(config.getProperty(ConfigurationKeys.SMTP_SERVER)); - mi.setAltSmtpHost(config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER)); - mi.setFromAddress(config.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - - String sql = "Select name from subscriptions " - + "where product_id= '" + mi.getProductID() +"' " - + "and send_mail=1 "; - //查询出邮件列表 - List query = DBUtil.query(sql); - - sendEMails(mi,mailDebug, query); - - - } - - - //读取产品信息 - protected void readFile(MailInfo mi,File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - mi.setProductID(data[0]); - mi.setProductDesc(data[1]); - - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - //配置邮件并设置发送的邮件内容 - protected void configureEMail(HashMap userInfo,MailInfo mi) throws IOException - { - String toAddress = (String) userInfo.get(EMAIL_KEY); - String name = (String) userInfo.get(NAME_KEY); - if (toAddress.length() > 0){ - mi.setSubject("您关注的产品降价了"); - mi.setMessage("尊敬的 "+name+", 您关注的产品 " + mi.getProductDesc() + " 降价了,欢迎购买!"); - } - - } - - - protected void sendEMails(MailInfo mi,boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next(),mi); - try - { - if (mi.getToAddress().length() > 0) - MailUtil.sendEmail(mi.getToAddress(), mi.getToAddress(), mi.getSubject(), mi.getMessage(), mi.getSmtpHost(), debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(mi.getToAddress(), mi.getToAddress(), mi.getSubject(), mi.getMessage(), mi.getAltSmtpHost(), debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - } - else { - System.out.println("没有邮件发送"); - } - - } -} diff --git a/students/799298900/src/com/leipengzj/myfirstGitFork.java b/students/799298900/src/com/leipengzj/myfirstGitFork.java deleted file mode 100644 index a87099c226..0000000000 --- a/students/799298900/src/com/leipengzj/myfirstGitFork.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.leipengzj; - -/** - * Created by tyrion on 2017/6/15. - */ -public class myfirstGitFork { - public static void main(String[] args) { - System.out.println("myfirst git"); - } -} diff --git a/students/799298900/src/com/leipengzj/product_promotion.txt b/students/799298900/src/com/leipengzj/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/799298900/src/com/leipengzj/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/81681981/first_OOP_homework/ood-assignment/pom.xml b/students/81681981/first_OOP_homework/ood-assignment/pom.xml deleted file mode 100644 index cac49a5328..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - 4.0.0 - - com.coderising - ood-assignment - 0.0.1-SNAPSHOT - jar - - ood-assignment - http://maven.apache.org - - - UTF-8 - - - - - - junit - junit - 4.12 - - - - - - aliyunmaven - http://maven.aliyun.com/nexus/content/groups/public/ - - - diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 0af0155e33..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setUserName("User" + i); - user.setMail(i+"aa@bb.com"); - userList.add(user); - } - - return userList; - } -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java deleted file mode 100644 index b6d62acbeb..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Email.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.HashMap; -import java.util.Map; -/* - * email - */ - -public class Email { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String subject = null; - protected String message = null; - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - - public String getSmtpHost() { - return smtpHost; - } - - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - - public String getAltSmtpHost() { - return altSmtpHost; - } - - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - - public String getFromAddress() { - return fromAddress; - } - - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - - protected void setSMTPHost() - { - smtpHost = this.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = this.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = this.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index f0adff0ab8..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.ood.srp; - - -public class MailUtil { - public static void sendEmail(String toAddress,Message mes,boolean debug) { - Email email = new Email(); - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(email.getFromAddress()).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(mes.getSubject()).append("\n"); - buffer.append("Content:").append(mes.getMessageDesc()).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Message.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Message.java deleted file mode 100644 index 59d916286b..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Message.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coderising.ood.srp; - -public class Message { - private String subject; - private String messageDesc; - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessageDesc() { - return messageDesc; - } - public void setMessageDesc(String messageDesc) { - this.messageDesc = messageDesc; - } - -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java deleted file mode 100644 index 236f61d132..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/Product.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.ArrayList; -import java.util.List; - -public class Product { - - protected String productID = null; - protected String productDesc = null; - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - public String getProductID() { - return productID; - } - - //获得该产品的所有订阅者 - protected List getLoadQuery(String productID){ - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - System.out.println("loadQuery set"); - return DBUtil.query(sendMailQuery); - } -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index b0641c9789..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class PromotionMail { - - protected String sendMailQuery = null; - - protected String toAddress = null; - - protected String subject = null; - protected String message = null; - /** - * 1.读产品信息 2.获取发送地址 3.组织内容 4.发送 - * - * */ - // 1.获取产品信息 - protected List readFile(File file) throws IOException // @02C - { - List productlist = new ArrayList(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - Product product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - productlist.add(product); - System.out.println("产品ID = " + data[0] + "\n"); - System.out.println("产品描述 = " + data[1] + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - return productlist; - } - - // 获取产品信息 - public PromotionMail(File file, boolean mailDebug) throws Exception { - - // 读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - List productlist = readFile(file); - if (productlist != null) { - for (int i = 0; i < productlist.size(); i++) { - Product product = (Product) productlist.get(i); - if(product != null){ - this.consistAndSend(product); - } - } - - } - } - - //获取某产品的所有订阅用户,并推送对应内容 - public void consistAndSend(Product product){ - List toAddressList = product.getLoadQuery(product - .getproductID());// 获取该产品的订阅者 - if (toAddressList != null){ - for (int j = 0; j < toAddressList.size(); j++) { - User user = (User) toAddressList.get(j); - Message mes = this.setMessage(user.getUserName(), - product.getProductDesc()); - this.sendEMails(true, mes, user.getMail()); - } - } - } - - - protected Message setMessage(String name, String productDesc){ - Message mes = new Message(); - String subject = "您关注的产品降价了"; - String message = "尊敬的 " + name + ", 您关注的产品 " + productDesc - + " 降价了,欢迎购买!"; - mes.setSubject(subject); - mes.setMessageDesc(message); - return mes; - } - - protected void sendEMails(boolean debug, Message mes, String toAddress){ - System.out.println("开始发送邮件"); - if (null != toAddress && !toAddress.equals("")) { - try{ - MailUtil.sendEmail(toAddress, mes, debug); - - }catch(Exception e){ - - } - } else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/TestMain.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/TestMain.java deleted file mode 100644 index 88b43c18ac..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/TestMain.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -public class TestMain { - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - - } -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/User.java b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/User.java deleted file mode 100644 index cb03ec5d2c..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/User.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -public class User { - private String userName; - private String mail; - public String getUserName() { - return userName; - } - public void setUserName(String userName) { - this.userName = userName; - } - public String getMail() { - return mail; - } - public void setMail(String mail) { - this.mail = mail; - } - -} diff --git a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/81681981/first_OOP_homework/ood-assignment/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/81681981/first_OOP_homework/readme.txt b/students/81681981/first_OOP_homework/readme.txt deleted file mode 100644 index 0330532c81..0000000000 --- a/students/81681981/first_OOP_homework/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -作业说明 - -类及功能 -1.conifgurationKeys.java 邮件发送服务器配置信息 -2.新增User.java 对应订阅用户信息(用户名,邮箱) -3.修改DBUtil.java 数据库操作类,把键值 修改为User对象 -4.新增Email.java 维护邮件发送的前置信息和邮件标题,邮件内容,smtphost,altSmtpHost,fromAddress,subject,message -5.新增Product.java 维护产品信息及订阅用户 -6.新增Message.java 维护要发送的内容 -7.修改PromotionMail.java 功能:读取产品信息,组织要发送的内容封装为Message对象,获取该产品对应的订阅用户,调用MailUtil.java 发送邮件 -8.MailUtil.java 负责发送 \ No newline at end of file diff --git a/students/840145455/readme.md b/students/840145455/readme.md deleted file mode 100644 index 6afb392c20..0000000000 --- a/students/840145455/readme.md +++ /dev/null @@ -1 +0,0 @@ -愿意自荐代码的,可以每个人一个目录 以自己的QQ号命名 ,把自荐的代码放到里边去 diff --git a/students/844620174/readme.md b/students/844620174/readme.md deleted file mode 100644 index ead67b8547..0000000000 --- a/students/844620174/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# 新上传的内容 -### Git 命令行使用 -git 拉取主仓库步骤 -1. fork -2. clone -3. 上传代码 - -git 上传代码分为三步 -1. 新增文件 add -1. 本地提交 commit -1. 远程提交 push - -更新代码 -使用 git pull 命令 \ No newline at end of file diff --git a/students/861924479/src/com/learning/test/Test.java b/students/861924479/src/com/learning/test/Test.java deleted file mode 100644 index df9a26ef20..0000000000 --- a/students/861924479/src/com/learning/test/Test.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.learning.test; - -public class Test { - -} diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java b/students/862726639/src/main/java/com/coderising/ood/ocp/DateUtil.java similarity index 92% rename from students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java rename to students/862726639/src/main/java/com/coderising/ood/ocp/DateUtil.java index b6cf28c096..0d0d01098f 100644 --- a/students/1377699408/data-structure/assignment/src/main/java/com/coderising/ood/ocp/DateUtil.java +++ b/students/862726639/src/main/java/com/coderising/ood/ocp/DateUtil.java @@ -1,10 +1,10 @@ -package com.coderising.ood.ocp; - -public class DateUtil { - - public static String getCurrentDateAsString() { - - return null; - } - -} +package com.coderising.ood.ocp; + +public class DateUtil { + + public static String getCurrentDateAsString() { + + return null; + } + +} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/Logger.java b/students/862726639/src/main/java/com/coderising/ood/ocp/Logger.java similarity index 95% rename from students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/Logger.java rename to students/862726639/src/main/java/com/coderising/ood/ocp/Logger.java index 0357c4d912..aca173e665 100644 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/Logger.java +++ b/students/862726639/src/main/java/com/coderising/ood/ocp/Logger.java @@ -1,38 +1,38 @@ -package com.coderising.ood.ocp; - -public class Logger { - - public final int RAW_LOG = 1; - public final int RAW_LOG_WITH_DATE = 2; - public final int EMAIL_LOG = 1; - public final int SMS_LOG = 2; - public final int PRINT_LOG = 3; - - int type = 0; - int method = 0; - - public Logger(int logType, int logMethod){ - this.type = logType; - this.method = logMethod; - } - public void log(String msg){ - - String logMsg = msg; - - if(this.type == RAW_LOG){ - logMsg = msg; - } else if(this.type == RAW_LOG_WITH_DATE){ - String txtDate = DateUtil.getCurrentDateAsString(); - logMsg = txtDate + ": " + msg; - } - - if(this.method == EMAIL_LOG){ - MailUtil.send(logMsg); - } else if(this.method == SMS_LOG){ - SMSUtil.send(logMsg); - } else if(this.method == PRINT_LOG){ - System.out.println(logMsg); - } - } -} - +package com.coderising.ood.ocp; + +public class Logger { + + public final int RAW_LOG = 1; + public final int RAW_LOG_WITH_DATE = 2; + public final int EMAIL_LOG = 1; + public final int SMS_LOG = 2; + public final int PRINT_LOG = 3; + + int type = 0; + int method = 0; + + public Logger(int logType, int logMethod){ + this.type = logType; + this.method = logMethod; + } + public void log(String msg){ + + String logMsg = msg; + + if(this.type == RAW_LOG){ + logMsg = msg; + } else if(this.type == RAW_LOG_WITH_DATE){ + String txtDate = DateUtil.getCurrentDateAsString(); + logMsg = txtDate + ": " + msg; + } + + if(this.method == EMAIL_LOG){ + MailUtil.send(logMsg); + } else if(this.method == SMS_LOG){ + SMSUtil.send(logMsg); + } else if(this.method == PRINT_LOG){ + System.out.println(logMsg); + } + } +} + diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java b/students/862726639/src/main/java/com/coderising/ood/ocp/MailUtil.java similarity index 93% rename from students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java rename to students/862726639/src/main/java/com/coderising/ood/ocp/MailUtil.java index ec54b839c5..59d77649a2 100644 --- a/students/592146505/data-structure/assignment/src/main/java/com/coderising/ood/ocp/MailUtil.java +++ b/students/862726639/src/main/java/com/coderising/ood/ocp/MailUtil.java @@ -1,10 +1,10 @@ -package com.coderising.ood.ocp; - -public class MailUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} +package com.coderising.ood.ocp; + +public class MailUtil { + + public static void send(String logMsg) { + // TODO Auto-generated method stub + + } + +} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/SMSUtil.java b/students/862726639/src/main/java/com/coderising/ood/ocp/SMSUtil.java similarity index 93% rename from students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/SMSUtil.java rename to students/862726639/src/main/java/com/coderising/ood/ocp/SMSUtil.java index 13cf802418..fab4cd01b7 100644 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/SMSUtil.java +++ b/students/862726639/src/main/java/com/coderising/ood/ocp/SMSUtil.java @@ -1,10 +1,10 @@ -package com.coderising.ood.ocp; - -public class SMSUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} +package com.coderising.ood.ocp; + +public class SMSUtil { + + public static void send(String logMsg) { + // TODO Auto-generated method stub + + } + +} diff --git a/students/862726639/src/main/java/com/coderising/ood/srp/readme.txt b/students/862726639/src/main/java/com/coderising/ood/srp/readme.txt new file mode 100644 index 0000000000..de991604ed --- /dev/null +++ b/students/862726639/src/main/java/com/coderising/ood/srp/readme.txt @@ -0,0 +1,5 @@ +简单分析发送邮件, +1.获得已经降价的商品的类 Goods.java +2.获得需要通知的用户 User.java +3.邮件服务服务器,发送邮件 Email.java +4.各种信息类 Message.java \ No newline at end of file diff --git a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java b/students/862726639/src/main/java/com/coding/basic/Iterator.java similarity index 81% rename from students/592146505/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java rename to students/862726639/src/main/java/com/coding/basic/Iterator.java index 06ef6311b2..2d4150183f 100644 --- a/students/592146505/data-structure/assignment/src/main/java/com/coding/basic/Iterator.java +++ b/students/862726639/src/main/java/com/coding/basic/Iterator.java @@ -3,5 +3,6 @@ public interface Iterator { public boolean hasNext(); public Object next(); + public Object remove(); } diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/List.java b/students/862726639/src/main/java/com/coding/basic/List.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/List.java rename to students/862726639/src/main/java/com/coding/basic/List.java diff --git a/students/862726639/src/main/java/com/coding/basic/TestArrayList.java b/students/862726639/src/main/java/com/coding/basic/TestArrayList.java new file mode 100644 index 0000000000..14b66cd72b --- /dev/null +++ b/students/862726639/src/main/java/com/coding/basic/TestArrayList.java @@ -0,0 +1,22 @@ +package com.coding.basic; + +import org.junit.Test; + +import com.coding.basic.array.ArrayList; + +public class TestArrayList { + @Test + public void testAdd(){ + List list = new ArrayList(); + for (int i = 0; i < 11; i++) { + list.add(i); + } + System.out.println("list的个数:" + list.size()); + } + @Test + public void testSize(){ + List list = new ArrayList(); + + System.out.println("list的个数:" + list.size()); + } +} diff --git a/students/862726639/src/main/java/com/coding/basic/array/ArrayList.java b/students/862726639/src/main/java/com/coding/basic/array/ArrayList.java new file mode 100644 index 0000000000..734b70a258 --- /dev/null +++ b/students/862726639/src/main/java/com/coding/basic/array/ArrayList.java @@ -0,0 +1,107 @@ +package com.coding.basic.array; + +import com.coding.basic.Iterator; +import com.coding.basic.List; +//实现arraylist写呢 +public class ArrayList implements List { + + private int size = 0; + private Object[] elementData ; + + public ArrayList(){ + elementData = new Object[10]; + } + public ArrayList(int index){ + + } + /** + * + * TODO 简单描述该方法的实现功能(添加元素). + * @see com.coding.basic.List#add(java.lang.Object) + */ + public void add(Object o){ + ensureCapacity(size + 1); + elementData[size++] = o; + } + /** + * + * @param i + * 2017年7月10日 + * @author 高欢 + */ + private void ensureCapacity(int i) { + System.out.println(i); + if(i < size()){ + System.out.println(i); + Object[] newElementdate = new Object[size()+10]; + System.arraycopy(elementData, 0, newElementdate, 0, size()); + elementData = newElementdate; + } + + } + /** + * 添加 + */ + public void add(int index, Object o){ + if(index>size()){ + throw new IndexOutOfBoundsException("数组越界"); + } + Object[] newElementdate = new Object[size()+1]; + System.arraycopy(elementData, 0, newElementdate, 0, index + 1); + newElementdate[index] = o; + System.arraycopy(elementData, index, newElementdate, index + 1, size() - 1 -index); + elementData = newElementdate; + } + + public Object get(int index){ + if (size() < index) {//判断是否存在 + return null; + } + return elementData[index]; + } + //返回删除对象 + public Object remove(int index){ + if (index > size()) {//不存在 + throw new IndexOutOfBoundsException("不存在"); + } else{ + Object[] newElementdate = new Object[size()- 1]; + System.arraycopy(elementData, 0, newElementdate, 0, index + 1); + System.arraycopy(elementData, index + 1, newElementdate, index, size() - 1 -index); + elementData = newElementdate; + return elementData[index]; + } + } + + public int size(){ + if (elementData[0]==null) { + return -1; + } + return elementData.length; + } + + public Iterator iterator(){ + return new IteratorImpl(); + } + class IteratorImpl implements Iterator{ + private int i = 0;//初始值 + @Override + public boolean hasNext() { + return i <= size(); + } + + @Override + public Object next() { + return elementData[i++]; + } + + @Override + public Object remove() { + for (Object object : elementData) { + object = null; + } + + return null; + } + + } +} diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/array/ArrayUtil.java b/students/862726639/src/main/java/com/coding/basic/array/ArrayUtil.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/array/ArrayUtil.java rename to students/862726639/src/main/java/com/coding/basic/array/ArrayUtil.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrame.java b/students/862726639/src/main/java/com/coding/basic/linklist/LRUPageFrame.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/linklist/LRUPageFrame.java rename to students/862726639/src/main/java/com/coding/basic/linklist/LRUPageFrame.java diff --git a/students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java b/students/862726639/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java similarity index 100% rename from students/1204187480/code/homework/coding/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java rename to students/862726639/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LinkedList.java b/students/862726639/src/main/java/com/coding/basic/linklist/LinkedList.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/linklist/LinkedList.java rename to students/862726639/src/main/java/com/coding/basic/linklist/LinkedList.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/CircleQueue.java b/students/862726639/src/main/java/com/coding/basic/queue/CircleQueue.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/CircleQueue.java rename to students/862726639/src/main/java/com/coding/basic/queue/CircleQueue.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/Josephus.java b/students/862726639/src/main/java/com/coding/basic/queue/Josephus.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/Josephus.java rename to students/862726639/src/main/java/com/coding/basic/queue/Josephus.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/JosephusTest.java b/students/862726639/src/main/java/com/coding/basic/queue/JosephusTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/JosephusTest.java rename to students/862726639/src/main/java/com/coding/basic/queue/JosephusTest.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/Queue.java b/students/862726639/src/main/java/com/coding/basic/queue/Queue.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/queue/Queue.java rename to students/862726639/src/main/java/com/coding/basic/queue/Queue.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java b/students/862726639/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java rename to students/862726639/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/QuickMinStack.java b/students/862726639/src/main/java/com/coding/basic/stack/QuickMinStack.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/QuickMinStack.java rename to students/862726639/src/main/java/com/coding/basic/stack/QuickMinStack.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/Stack.java b/students/862726639/src/main/java/com/coding/basic/stack/Stack.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/Stack.java rename to students/862726639/src/main/java/com/coding/basic/stack/Stack.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtil.java b/students/862726639/src/main/java/com/coding/basic/stack/StackUtil.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtil.java rename to students/862726639/src/main/java/com/coding/basic/stack/StackUtil.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtilTest.java b/students/862726639/src/main/java/com/coding/basic/stack/StackUtilTest.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackUtilTest.java rename to students/862726639/src/main/java/com/coding/basic/stack/StackUtilTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java b/students/862726639/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java rename to students/862726639/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java b/students/862726639/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java rename to students/862726639/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExpr.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/InfixExpr.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixExpr.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/InfixExpr.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/Token.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/Token.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/Token.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/Token.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/TokenParser.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/TokenParser.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/TokenParser.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/TokenParser.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java b/students/862726639/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java rename to students/862726639/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTree.java b/students/862726639/src/main/java/com/coding/basic/tree/BinarySearchTree.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTree.java rename to students/862726639/src/main/java/com/coding/basic/tree/BinarySearchTree.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java b/students/862726639/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java rename to students/862726639/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeNode.java b/students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeNode.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeNode.java rename to students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeNode.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java b/students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java rename to students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java diff --git a/students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java b/students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java similarity index 100% rename from students/1377699408/data-structure/answer/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java rename to students/862726639/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java diff --git a/students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/FileList.java b/students/862726639/src/main/java/com/coding/basic/tree/FileList.java similarity index 100% rename from students/1377699408/data-structure/assignment/src/main/java/com/coding/basic/tree/FileList.java rename to students/862726639/src/main/java/com/coding/basic/tree/FileList.java diff --git a/students/87049319/README.md b/students/87049319/README.md deleted file mode 100644 index 56d6816ace..0000000000 --- a/students/87049319/README.md +++ /dev/null @@ -1,3 +0,0 @@ -PULL LIST -* 2017/06/11 -first pull \ No newline at end of file diff --git a/students/89460886/ood/srp/Configuration.java b/students/89460886/ood/srp/Configuration.java deleted file mode 100644 index 20cb685583..0000000000 --- a/students/89460886/ood/srp/Configuration.java +++ /dev/null @@ -1,25 +0,0 @@ -package ood.srp; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } - - -} diff --git a/students/89460886/ood/srp/ConfigurationKeys.java b/students/89460886/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 47cf4153b3..0000000000 --- a/students/89460886/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/89460886/ood/srp/DBUtil.java b/students/89460886/ood/srp/DBUtil.java deleted file mode 100644 index 89dbacc9bf..0000000000 --- a/students/89460886/ood/srp/DBUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package ood.srp; - -import java.util.ArrayList; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - List userList = new ArrayList<>(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setName("User" + i); - user.setEmail("aa@bb.com"); - userList.add(user); - } - return userList; - } - - public static List queryValidUserList(String sql) { - List userList = query(sql); - List resultList = new ArrayList<>(); - for (int i = 0, len = userList.size(); i < len; i++) { - String email = userList.get(i).getEmail(); - if (email != null && email.length() > 0) { - resultList.add(userList.get(i)); - } - } - return resultList; - } - - public static List queryUserListByProduct(Product product) { - String sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + product.getProductID() + "' " - + "and send_mail=1 "; - return queryValidUserList(sendMailQuery); - } - -} diff --git a/students/89460886/ood/srp/IRequest.java b/students/89460886/ood/srp/IRequest.java deleted file mode 100644 index 5d15088f60..0000000000 --- a/students/89460886/ood/srp/IRequest.java +++ /dev/null @@ -1,16 +0,0 @@ -package ood.srp; - -import java.util.Map; - -/** - * @author jiaxun - */ -public interface IRequest { - - Map getHeaders(); - - Map getParams(); - - String getUrl(); - -} diff --git a/students/89460886/ood/srp/MailRequest.java b/students/89460886/ood/srp/MailRequest.java deleted file mode 100644 index 62b9c6ed52..0000000000 --- a/students/89460886/ood/srp/MailRequest.java +++ /dev/null @@ -1,57 +0,0 @@ -package ood.srp; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author jiaxun - */ -public class MailRequest implements IRequest { - - private String toAddress; - private String subject; - private String message; - - @Override - public Map getHeaders() { - return null; - } - - @Override - public Map getParams() { - Map map = new HashMap<>(); - map.put("toAddress", toAddress); - map.put("subject", subject); - map.put("message", message); - return map; - } - - @Override - public String getUrl() { - return null; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } -} diff --git a/students/89460886/ood/srp/Product.java b/students/89460886/ood/srp/Product.java deleted file mode 100644 index f92235f0a7..0000000000 --- a/students/89460886/ood/srp/Product.java +++ /dev/null @@ -1,26 +0,0 @@ -package ood.srp; - -/** - * @author jiaxun - */ -public class Product { - - private String productID = null; - private String productDesc = null; - - public String getProductID() { - return productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git a/students/89460886/ood/srp/ProductRepository.java b/students/89460886/ood/srp/ProductRepository.java deleted file mode 100644 index 0c987504ac..0000000000 --- a/students/89460886/ood/srp/ProductRepository.java +++ /dev/null @@ -1,38 +0,0 @@ -package ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -/** - * @author jiaxun - */ -public class ProductRepository { - - public static Product getProductFromFile(File file) throws IOException { - Product product = null; - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String line = br.readLine(); - String[] data = line.split(" "); - - product = new Product(); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - - System.out.println("产品ID = " + product.getProductID() + "\n"); - System.out.println("产品描述 = " + product.getProductDesc() + "\n"); - - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (br != null) { - br.close(); - } - } - return product; - } - -} diff --git a/students/89460886/ood/srp/PromotionMail.java b/students/89460886/ood/srp/PromotionMail.java deleted file mode 100644 index 199a80a7cc..0000000000 --- a/students/89460886/ood/srp/PromotionMail.java +++ /dev/null @@ -1,42 +0,0 @@ -package ood.srp; - -import java.io.File; -import java.util.List; - -public class PromotionMail { - - public static void main(String[] args) throws Exception { - - File file = new File("/Users/jiaxun/OpenSource/Algorithm/src/ood/srp/product_promotion.txt"); - boolean emailDebug = false; - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - Product product = ProductRepository.getProductFromFile(file); - - List userList = DBUtil.queryUserListByProduct(product); - - PromotionMail pe = new PromotionMail(); - - pe.sendEMails(emailDebug, userList, product); - } - - protected void sendEMails(boolean debug, List userList, Product product) { - - System.out.println("开始发送邮件"); - - if (userList != null) { - for (int i = 0, len = userList.size(); i < len; i++) { - MailRequest mailRequest = new MailRequest(); - - mailRequest.setSubject("您关注的产品降价了"); - mailRequest.setMessage("尊敬的 " + userList.get(i).getName() + ", 您关注的产品 " + product.getProductDesc() + " 降价了,欢迎购买!"); - mailRequest.setToAddress(userList.get(i).getEmail()); - - SmtpClient.sharedInstance().sendEmail(mailRequest, debug); - } - } else { - System.out.println("没有邮件发送"); - } - } - -} diff --git a/students/89460886/ood/srp/SmtpClient.java b/students/89460886/ood/srp/SmtpClient.java deleted file mode 100644 index a0c52b6fc3..0000000000 --- a/students/89460886/ood/srp/SmtpClient.java +++ /dev/null @@ -1,45 +0,0 @@ -package ood.srp; - -import java.util.Map; - -/** - * @author jiaxun - */ -public class SmtpClient { - - private static volatile SmtpClient instance = null; - - private String smtpHost = null; - private String altSmtpHost = null; - private String fromAddress = null; - - private SmtpClient() { - Configuration config = new Configuration(); - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public static SmtpClient sharedInstance() { - if (instance == null) { - synchronized (SmtpClient.class) { - if (instance == null) { - return new SmtpClient(); - } - } - } - return instance; - } - - public void sendEmail(IRequest request, boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - Map params = request.getParams(); - // 这里为了演示方便,直接根据请求的 key 获取内容 - buffer.append("To:").append(params.get("toAddress")).append("\n"); - buffer.append("Subject:").append(params.get("subject")).append("\n"); - buffer.append("Content:").append(params.get("message")).append("\n"); - System.out.println(buffer.toString()); - } -} diff --git a/students/89460886/ood/srp/User.java b/students/89460886/ood/srp/User.java deleted file mode 100644 index 71bc2b7702..0000000000 --- a/students/89460886/ood/srp/User.java +++ /dev/null @@ -1,26 +0,0 @@ -package ood.srp; - -/** - * @author jiaxun - */ -public class User { - - private String name; - private String email; - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/students/89460886/ood/srp/product_promotion.txt b/students/89460886/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/89460886/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/932235900/src/com/coderising/ood/srp/PromotaionTest.java b/students/932235900/src/com/coderising/ood/srp/PromotaionTest.java deleted file mode 100644 index 04bc17a433..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/PromotaionTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.util.List; - -import com.coderising.ood.srp.common.Configuration; -import com.coderising.ood.srp.entity.Email; -import com.coderising.ood.srp.entity.Product; -import com.coderising.ood.srp.entity.User; -import com.coderising.ood.srp.service.EmailService; -import com.coderising.ood.srp.service.ProductService; -import com.coderising.ood.srp.service.UserService; - -public class PromotaionTest { - - public static void main(String[] args) { - //1.获得客户集合 - List users = new UserService().getUsers(); - //2.获得促销商品 - List products = new ProductService().getPromotionProducts("src\\com\\coderising\\ood\\srp\\common\\product_promotion.txt"); - //3.配置 - Configuration conf = new Configuration(); - //给每个用户发邮件 - EmailService emailService = new EmailService(); - for(User user:users ){ - - Email email = emailService.generateEmail(user, products, conf ); - - emailService.sendEmail(email); - - - } - - } -} diff --git a/students/932235900/src/com/coderising/ood/srp/common/Configuration.java b/students/932235900/src/com/coderising/ood/srp/common/Configuration.java deleted file mode 100644 index 4565927da1..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/common/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp.common; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/932235900/src/com/coderising/ood/srp/common/ConfigurationKeys.java b/students/932235900/src/com/coderising/ood/srp/common/ConfigurationKeys.java deleted file mode 100644 index a0064e0e4d..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/common/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp.common; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/932235900/src/com/coderising/ood/srp/common/DBUtil.java b/students/932235900/src/com/coderising/ood/srp/common/DBUtil.java deleted file mode 100644 index 6e333a508c..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/common/DBUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp.common; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import com.coderising.ood.srp.entity.User; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - User user = new User(); - user.setUserName("User" + i); - user.setEmailAddress("aa"+i+"@bb.com"); - userList.add(user); - } - return userList; - } -} diff --git a/students/932235900/src/com/coderising/ood/srp/common/product_promotion.txt b/students/932235900/src/com/coderising/ood/srp/common/product_promotion.txt deleted file mode 100644 index 0c0124cc61..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/common/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/932235900/src/com/coderising/ood/srp/entity/Email.java b/students/932235900/src/com/coderising/ood/srp/entity/Email.java deleted file mode 100644 index dd13c4fab1..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/entity/Email.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coderising.ood.srp.entity; -/** - * - * @author liubin - *电子邮件实体类 - */ -public class Email { - - private String toAddress; - private String fromAddress; - private String subject; - private String message; - private String smtpHost; - - public String getToAddress() { - return toAddress; - } - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - public String getFromAddress() { - return fromAddress; - } - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } - public String getSubject() { - return subject; - } - public void setSubject(String subject) { - this.subject = subject; - } - public String getMessage() { - return message; - } - public void setMessage(String message) { - this.message = message; - } - public String getSmtpHost() { - return smtpHost; - } - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - -} diff --git a/students/932235900/src/com/coderising/ood/srp/entity/Product.java b/students/932235900/src/com/coderising/ood/srp/entity/Product.java deleted file mode 100644 index dffa593397..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/entity/Product.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderising.ood.srp.entity; -/** - * - * @author liubin - * 产品实体类 - * - */ -public class Product { - - private String productId; - private String productDesc; - - public String getProductId() { - return productId; - } - public void setProductId(String productId) { - this.productId = productId; - } - public String getProductDesc() { - return productDesc; - } - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - @Override - public String toString() { - return "Product [产品ID = " + productId + ", 产品描述 = " + productDesc + "]"; - } - - -} diff --git a/students/932235900/src/com/coderising/ood/srp/entity/User.java b/students/932235900/src/com/coderising/ood/srp/entity/User.java deleted file mode 100644 index bd85ceac8f..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/entity/User.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coderising.ood.srp.entity; - -public class User { - private String userId; - private String userName; - private String emailAddress; - - public String getUserId() { - return userId; - } - public void setUserId(String userId) { - this.userId = userId; - } - public String getUserName() { - return userName; - } - public void setUserName(String userName) { - this.userName = userName; - } - public String getEmailAddress() { - return emailAddress; - } - public void setEmailAddress(String emailAddress) { - this.emailAddress = emailAddress; - } - - - -} diff --git a/students/932235900/src/com/coderising/ood/srp/service/EmailService.java b/students/932235900/src/com/coderising/ood/srp/service/EmailService.java deleted file mode 100644 index 9455ba57a5..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/service/EmailService.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.util.List; - -import com.coderising.ood.srp.common.Configuration; -import com.coderising.ood.srp.common.ConfigurationKeys; -import com.coderising.ood.srp.entity.Email; -import com.coderising.ood.srp.entity.Product; -import com.coderising.ood.srp.entity.User; - -public class EmailService { - - public Email generateEmail(User user,List products,Configuration configuration){ - Email email = new Email(); - email.setFromAddress(configuration.getProperty(ConfigurationKeys.EMAIL_ADMIN)); - email.setToAddress(user.getEmailAddress()); - email.setSubject("您关注的产品降价了"); - StringBuffer message=new StringBuffer("尊敬的 "+user.getUserName()+", 您关注的产品:"); - for(Product product:products){ - message.append(product.getProductDesc()+" "); - } - message.append("降价了,欢迎购买!"); - email.setMessage(message.toString()); - return email; - } - /** - * 发送一封Email - * @param email - */ - public void sendEmail(Email email){ - if(email != null ){ - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(email.getFromAddress()).append("\n"); - buffer.append("To:").append(email.getToAddress()).append("\n"); - buffer.append("Subject:").append(email.getSubject()).append("\n"); - buffer.append("Content:").append(email.getMessage()).append("\n"); - System.out.println(buffer.toString()); - }else{ - System.out.println("email 为空,发送邮件失败!"); - } - } -} diff --git a/students/932235900/src/com/coderising/ood/srp/service/ProductService.java b/students/932235900/src/com/coderising/ood/srp/service/ProductService.java deleted file mode 100644 index 1762527fa6..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/service/ProductService.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import com.coderising.ood.srp.entity.Product; - -public class ProductService { - - /** - * 从给定的路径文件获取打折商品信息 - * @param path - * @return - */ - public List getPromotionProducts(String path){ - List products = new ArrayList(); - if(path != null && !"".equals(path)){ - File file = new File(path); - try { - products = readFile(file); - } catch (IOException e) { - System.out.println("获取打折商品信息出错:"+ e.getMessage()); - } - } - return products; - } - - private List readFile(File file) throws IOException // @02C - { - List products = new ArrayList(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = null; - while((temp = br.readLine()) != null){ - - String[] data = temp.split(" "); - - Product product = new Product(); - product.setProductId(data[0]); - product.setProductDesc(data[1]); - System.out.println(product); - - products.add(product); - } - return products; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - if(br != null){ - br.close(); - } - } - } -} diff --git a/students/932235900/src/com/coderising/ood/srp/service/UserService.java b/students/932235900/src/com/coderising/ood/srp/service/UserService.java deleted file mode 100644 index d8bc1b67d6..0000000000 --- a/students/932235900/src/com/coderising/ood/srp/service/UserService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.util.List; - -import com.coderising.ood.srp.common.DBUtil; -import com.coderising.ood.srp.entity.User; - -public class UserService { - /** - * 获取客户列表 - */ - public List getUsers(){ - String sendMailQuery = "Select name from subscriptions " - + "where send_mail=1 "; - return DBUtil.query(sendMailQuery); - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/SRP\346\265\201\347\250\213.png" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/SRP\346\265\201\347\250\213.png" deleted file mode 100644 index 638b75e7eb..0000000000 Binary files "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/SRP\346\265\201\347\250\213.png" and /dev/null differ diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/PromotionMail.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/PromotionMail.java" deleted file mode 100644 index 7e1c102f25..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/PromotionMail.java" +++ /dev/null @@ -1,67 +0,0 @@ -package com.coderising.ood.srp_restructure_1; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import com.coderising.ood.srp_restructure_1.pojo.Configuration; -import com.coderising.ood.srp_restructure_1.pojo.ConfigurationKeys; -import com.coderising.ood.srp_restructure_1.pojo.Mail; -import com.coderising.ood.srp_restructure_1.pojo.MailServiceConfiguration; -import com.coderising.ood.srp_restructure_1.pojo.Product; -import com.coderising.ood.srp_restructure_1.pojo.User; -import com.coderising.ood.srp_restructure_1.service.ProductService; -import com.coderising.ood.srp_restructure_1.service.UserService; -import com.coderising.ood.srp_restructure_1.util.DBUtil; -import com.coderising.ood.srp_restructure_1.util.MailUtil; - -public class PromotionMail { - - UserService userService = new UserService(); - ProductService productService = new ProductService(); - - public static void main(String[] args) throws Exception { - File file = new File("src/main/java/com/coderising/ood/srp_restructure_1/product_promotion.txt"); - boolean emailDebug = false; - PromotionMail pe = new PromotionMail(file, emailDebug); - } - - public PromotionMail(File file, boolean mailDebug) throws Exception { - MailServiceConfiguration configuration = new MailServiceConfiguration() - .setAltSMTPHost(ConfigurationKeys.SMTP_SERVER).setSMTPHost(ConfigurationKeys.ALT_SMTP_SERVER) - .setFromAddress(ConfigurationKeys.SMTP_SERVER); - List plist = productService.getProductDescList(file); - sendEMails(mailDebug, configuration, plist); - } - - protected void sendEMails(boolean debug, MailServiceConfiguration configuration, List plist) - throws IOException { - System.out.println("开始发送邮件"); - if (plist != null) { - Iterator piterator = plist.iterator(); - while (piterator.hasNext()) { - Product product = piterator.next(); - List ulist = userService.getSendMailUser(product); - if (ulist != null) { - Iterator uiterator = ulist.iterator(); - while (uiterator.hasNext()) { - User user = uiterator.next(); - Mail mail = new Mail("您关注的产品降价了", - "尊敬的 " + user.getName() + ", 您关注的产品 " + plist.get(0).getProductDesc() + " 降价了,欢迎购买!", - user.getEmail()); - MailUtil.sendEmail(debug, configuration, mail); - } - } else { - System.out.println("没有邮件发送"); - } - } - } else { - System.out.println("没有降价商品"); - } - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Configuration.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Configuration.java" deleted file mode 100644 index 56182957fa..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Configuration.java" +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static { - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/ConfigurationKeys.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/ConfigurationKeys.java" deleted file mode 100644 index 6a5cdb35fc..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/ConfigurationKeys.java" +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Mail.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Mail.java" deleted file mode 100644 index 560809a8cb..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Mail.java" +++ /dev/null @@ -1,38 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -public class Mail { - - private String subject; - private String message; - private String toAddress; - - public Mail(String subject, String message, String toAddress) { - this.subject = subject; - this.message = message; - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/MailServiceConfiguration.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/MailServiceConfiguration.java" deleted file mode 100644 index cbdaaec27b..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/MailServiceConfiguration.java" +++ /dev/null @@ -1,35 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -public class MailServiceConfiguration { - - private String SMTPHost; - private String AltSMTPHost; - private String FromAddress; - - public String getSMTPHost() { - return SMTPHost; - } - - public MailServiceConfiguration setSMTPHost(String sMTPHost) { - SMTPHost = sMTPHost; - return this; - } - - public String getAltSMTPHost() { - return AltSMTPHost; - } - - public MailServiceConfiguration setAltSMTPHost(String altSMTPHost) { - AltSMTPHost = altSMTPHost; - return this; - } - - public String getFromAddress() { - return FromAddress; - } - - public MailServiceConfiguration setFromAddress(String fromAddress) { - FromAddress = fromAddress; - return this; - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Product.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Product.java" deleted file mode 100644 index 38de6f12e0..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/Product.java" +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -public class Product { - - private String productID; - private String productDesc; - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/User.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/User.java" deleted file mode 100644 index ebe5d134f3..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/pojo/User.java" +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp_restructure_1.pojo; - -public class User { - - private String name; - private String email; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/product_promotion.txt" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/product_promotion.txt" deleted file mode 100644 index b7a974adb3..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/product_promotion.txt" +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/ProductService.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/ProductService.java" deleted file mode 100644 index d1353bc72b..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/ProductService.java" +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.ood.srp_restructure_1.service; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import com.coderising.ood.srp_restructure_1.pojo.Product; - -public class ProductService { - - public List getProductDescList(File file) throws IOException { - List plist = new ArrayList(); - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - Product p = new Product(); - p.setProductID(data[0]); - p.setProductDesc(data[1]); - - System.out.println("产品ID = " + p.getProductID() + "\n"); - System.out.println("产品描述 = " + p.getProductDesc() + "\n"); - - plist.add(p); - return plist; - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - - } - -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/UserService.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/UserService.java" deleted file mode 100644 index 799f713ccf..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/service/UserService.java" +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp_restructure_1.service; - -import java.util.ArrayList; -import java.util.List; - -import com.coderising.ood.srp_restructure_1.pojo.Product; -import com.coderising.ood.srp_restructure_1.pojo.User; -import com.coderising.ood.srp_restructure_1.util.DBUtil; - -public class UserService { - - public List getSendMailUser(Product product) { - String sql = "Select name from subscriptions " + "where product_id= '" + product.getProductID() + "' " - + "and send_mail=1 "; - return DBUtil.query(sql); - } - -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/DBUtil.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/DBUtil.java" deleted file mode 100644 index 086893ec60..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/DBUtil.java" +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp_restructure_1.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import com.coderising.ood.srp_restructure_1.pojo.User; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - public static List query(String sql) { - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - /* - * HashMap userInfo = new HashMap(); userInfo.put("NAME", "User" + - * i); userInfo.put("EMAIL", "aa@bb.com"); userList.add(userInfo); - */ - /* - * 因为在重构的时候使用了bean,所以为了方便直接改为返回beanlist - */ - User user = new User(); - user.setName("User" + i); - user.setEmail("aa@bb.com"); - userList.add(user); - } - - return userList; - } -} diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/MailUtil.java" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/MailUtil.java" deleted file mode 100644 index ca44417827..0000000000 --- "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/srp_restructure_1/util/MailUtil.java" +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp_restructure_1.util; - -import com.coderising.ood.srp_restructure_1.pojo.Mail; -import com.coderising.ood.srp_restructure_1.pojo.MailServiceConfiguration; - -public class MailUtil { - - private static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - // 假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - } - - public static void sendEmail(boolean debug, MailServiceConfiguration configuration, Mail mail) { - try { - if (mail.getToAddress().length() > 0) - sendEmail(mail.getToAddress(), configuration.getFromAddress(), mail.getSubject(), mail.getMessage(), - configuration.getSMTPHost(), debug); - } catch (Exception e) { - try { - sendEmail(mail.getToAddress(), configuration.getFromAddress(), mail.getSubject(), mail.getMessage(), - configuration.getAltSMTPHost(), debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } -} \ No newline at end of file diff --git "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/\345\216\237\345\247\213\346\265\201\347\250\213.png" "b/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/\345\216\237\345\247\213\346\265\201\347\250\213.png" deleted file mode 100644 index c2d8aceb83..0000000000 Binary files "a/students/949603184/homework01-\351\207\215\346\236\204\351\202\256\344\273\266\345\217\221\351\200\201/\345\216\237\345\247\213\346\265\201\347\250\213.png" and /dev/null differ diff --git a/students/986547781/README.md b/students/986547781/README.md deleted file mode 100644 index f568850ceb..0000000000 --- a/students/986547781/README.md +++ /dev/null @@ -1,2 +0,0 @@ -##第一次尝试 -##解决编码问题 \ No newline at end of file diff --git a/students/992331664/data-structure/data-structure/build.gradle b/students/992331664/data-structure/data-structure/build.gradle deleted file mode 100644 index e8037fb1c4..0000000000 --- a/students/992331664/data-structure/data-structure/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'java' - -repositories { - jcenter() -} - -dependencies { - compile 'org.slf4j:slf4j-api:1.7.21' - compile 'org.apache.poi:poi:3.16' - compile 'org.apache.poi:poi-ooxml:3.16' - testCompile 'junit:junit:4.12' -} diff --git a/students/992331664/data-structure/data-structure/gradle/wrapper/gradle-wrapper.properties b/students/992331664/data-structure/data-structure/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index d4aaec595d..0000000000 --- a/students/992331664/data-structure/data-structure/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Tue Jun 13 11:30:56 CST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip diff --git a/students/992331664/data-structure/data-structure/gradlew b/students/992331664/data-structure/data-structure/gradlew deleted file mode 100644 index 9aa616c273..0000000000 --- a/students/992331664/data-structure/data-structure/gradlew +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/students/992331664/data-structure/data-structure/gradlew.bat b/students/992331664/data-structure/data-structure/gradlew.bat deleted file mode 100644 index f9553162f1..0000000000 --- a/students/992331664/data-structure/data-structure/gradlew.bat +++ /dev/null @@ -1,84 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/students/992331664/data-structure/data-structure/settings.gradle b/students/992331664/data-structure/data-structure/settings.gradle deleted file mode 100644 index e5c7e27790..0000000000 --- a/students/992331664/data-structure/data-structure/settings.gradle +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This settings file was auto generated by the Gradle buildInit task - * by 'gant' at '17-6-13 上午11:30' with Gradle 3.0 - * - * The settings file is used to specify which projects to include in your build. - * In a single project build this file can be empty or even removed. - * - * Detailed information about configuring a multi-project build in Gradle can be found - * in the user guide at https://docs.gradle.org/3.0/userguide/multi_project_builds.html - */ - -/* -// To declare projects as part of a multi-project build use the 'include' method -include 'shared' -include 'api' -include 'services:webservice' -*/ - -rootProject.name = 'data-structure' diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/DownloadThread.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/DownloadThread.java deleted file mode 100644 index 900a3ad358..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/DownloadThread.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; - -public class DownloadThread extends Thread{ - - Connection conn; - int startPos; - int endPos; - - public DownloadThread( Connection conn, int startPos, int endPos){ - - this.conn = conn; - this.startPos = startPos; - this.endPos = endPos; - } - public void run(){ - - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloader.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloader.java deleted file mode 100644 index c3c8a3f27d..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloader.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.coderising.download; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; - - -public class FileDownloader { - - String url; - - DownloadListener listener; - - ConnectionManager cm; - - - public FileDownloader(String _url) { - this.url = _url; - - } - - public void execute(){ - // 在这里实现你的代码, 注意: 需要用多线程实现下载 - // 这个类依赖于其他几个接口, 你需要写这几个接口的实现代码 - // (1) ConnectionManager , 可以打开一个连接,通过Connection可以读取其中的一段(用startPos, endPos来指定) - // (2) DownloadListener, 由于是多线程下载, 调用这个类的客户端不知道什么时候结束,所以你需要实现当所有 - // 线程都执行完以后, 调用listener的notifiedFinished方法, 这样客户端就能收到通知。 - // 具体的实现思路: - // 1. 需要调用ConnectionManager的open方法打开连接, 然后通过Connection.getContentLength方法获得文件的长度 - // 2. 至少启动3个线程下载, 注意每个线程需要先调用ConnectionManager的open方法 - // 然后调用read方法, read方法中有读取文件的开始位置和结束位置的参数, 返回值是byte[]数组 - // 3. 把byte数组写入到文件中 - // 4. 所有的线程都下载完成以后, 需要调用listener的notifiedFinished方法 - - // 下面的代码是示例代码, 也就是说只有一个线程, 你需要改造成多线程的。 - Connection conn = null; - try { - - conn = cm.open(this.url); - - int length = conn.getContentLength(); - - new DownloadThread(conn,0,length-1).start(); - - } catch (ConnectionException e) { - e.printStackTrace(); - }finally{ - if(conn != null){ - conn.close(); - } - } - - - - - } - - public void setListener(DownloadListener listener) { - this.listener = listener; - } - - - - public void setConnectionManager(ConnectionManager ucm){ - this.cm = ucm; - } - - public DownloadListener getListener(){ - return this.listener; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloaderTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloaderTest.java deleted file mode 100644 index 4ff7f46ae0..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/FileDownloaderTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.coderising.download; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.coderising.download.api.ConnectionManager; -import com.coderising.download.api.DownloadListener; -import com.coderising.download.impl.ConnectionManagerImpl; - -public class FileDownloaderTest { - boolean downloadFinished = false; - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testDownload() { - - String url = "http://localhost:8080/test.jpg"; - - FileDownloader downloader = new FileDownloader(url); - - - ConnectionManager cm = new ConnectionManagerImpl(); - downloader.setConnectionManager(cm); - - downloader.setListener(new DownloadListener() { - @Override - public void notifyFinished() { - downloadFinished = true; - } - - }); - - - downloader.execute(); - - // 等待多线程下载程序执行完毕 - while (!downloadFinished) { - try { - System.out.println("还没有下载完成,休眠五秒"); - //休眠5秒 - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - System.out.println("下载完成!"); - - - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/Connection.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/Connection.java deleted file mode 100644 index 0957eaf7f4..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/Connection.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.download.api; - -import java.io.IOException; - -public interface Connection { - /** - * 给定开始和结束位置, 读取数据, 返回值是字节数组 - * @param startPos 开始位置, 从0开始 - * @param endPos 结束位置 - * @return - */ - public byte[] read(int startPos,int endPos) throws IOException; - /** - * 得到数据内容的长度 - * @return - */ - public int getContentLength(); - - /** - * 关闭连接 - */ - public void close(); -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionException.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionException.java deleted file mode 100644 index 1551a80b3d..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionException.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public class ConnectionException extends Exception { - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionManager.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionManager.java deleted file mode 100644 index ce045393b1..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/ConnectionManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.download.api; - -public interface ConnectionManager { - /** - * 给定一个url , 打开一个连接 - * @param url - * @return - */ - public Connection open(String url) throws ConnectionException; -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/DownloadListener.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/DownloadListener.java deleted file mode 100644 index bf9807b307..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/api/DownloadListener.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.coderising.download.api; - -public interface DownloadListener { - public void notifyFinished(); -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionImpl.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionImpl.java deleted file mode 100644 index 36a9d2ce15..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coderising.download.impl; - -import java.io.IOException; - -import com.coderising.download.api.Connection; - -public class ConnectionImpl implements Connection{ - - @Override - public byte[] read(int startPos, int endPos) throws IOException { - - return null; - } - - @Override - public int getContentLength() { - - return 0; - } - - @Override - public void close() { - - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java deleted file mode 100644 index 172371dd55..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/download/impl/ConnectionManagerImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coderising.download.impl; - -import com.coderising.download.api.Connection; -import com.coderising.download.api.ConnectionException; -import com.coderising.download.api.ConnectionManager; - -public class ConnectionManagerImpl implements ConnectionManager { - - @Override - public Connection open(String url) throws ConnectionException { - - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/LoginAction.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/LoginAction.java deleted file mode 100644 index dcdbe226ed..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/LoginAction.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coderising.litestruts; - -/** - * 这是一个用来展示登录的业务类, 其中的用户名和密码都是硬编码的。 - * @author liuxin - * - */ -public class LoginAction{ - private String name ; - private String password; - private String message; - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - public String execute(){ - if("test".equals(name) && "1234".equals(password)){ - this.message = "login successful"; - return "success"; - } - this.message = "login failed,please check your user/pwd"; - return "fail"; - } - - public void setName(String name){ - this.name = name; - } - public void setPassword(String password){ - this.password = password; - } - public String getMessage(){ - return this.message; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/Struts.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/Struts.java deleted file mode 100644 index 85e2e22de3..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/Struts.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - - - -public class Struts { - - public static View runAction(String actionName, Map parameters) { - - /* - - 0. 读取配置文件struts.xml - - 1. 根据actionName找到相对应的class , 例如LoginAction, 通过反射实例化(创建对象) - 据parameters中的数据,调用对象的setter方法, 例如parameters中的数据是 - ("name"="test" , "password"="1234") , - 那就应该调用 setName和setPassword方法 - - 2. 通过反射调用对象的exectue 方法, 并获得返回值,例如"success" - - 3. 通过反射找到对象的所有getter方法(例如 getMessage), - 通过反射来调用, 把值和属性形成一个HashMap , 例如 {"message": "登录成功"} , - 放到View对象的parameters - - 4. 根据struts.xml中的 配置,以及execute的返回值, 确定哪一个jsp, - 放到View对象的jsp字段中。 - - */ - - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/StrutsTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/StrutsTest.java deleted file mode 100644 index b8c81faf3c..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/StrutsTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.coderising.litestruts; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; - - - - - -public class StrutsTest { - - @Test - public void testLoginActionSuccess() { - - String actionName = "login"; - - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); - Assert.assertEquals("login successful", view.getParameters().get("message")); - } - - @Test - public void testLoginActionFailed() { - String actionName = "login"; - Map params = new HashMap(); - params.put("name","test"); - params.put("password","123456"); //密码和预设的不一致 - - View view = Struts.runAction(actionName,params); - - Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); - Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/View.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/View.java deleted file mode 100644 index 07df2a5dab..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/View.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.litestruts; - -import java.util.Map; - -public class View { - private String jsp; - private Map parameters; - - public String getJsp() { - return jsp; - } - public View setJsp(String jsp) { - this.jsp = jsp; - return this; - } - public Map getParameters() { - return parameters; - } - public View setParameters(Map parameters) { - this.parameters = parameters; - return this; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/struts.xml b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/struts.xml deleted file mode 100644 index e5d9aebba8..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/litestruts/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Course.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Course.java deleted file mode 100644 index 436d092f58..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Course.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - - - public boolean equals(Object o){ - if(o == null || !(o instanceof Course)){ - return false; - } - Course c = (Course)o; - return (c != null) && c.id.equals(id); - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseOffering.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseOffering.java deleted file mode 100644 index ab8c764584..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseOffering.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public int getMaxStudents() { - return maxStudents; - } - - public List getStudents() { - return students; - } - - public Course getCourse() { - return course; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseService.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseService.java deleted file mode 100644 index 8c34bad0c3..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/CourseService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coderising.ood.course.bad; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //如果学生上过该科目的先修科目,并且该课程还未满, 则学生可以加入该课程 - if(student.getCoursesAlreadyTaken().containsAll( - sc.getCourse().getPrerequisites()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Student.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Student.java deleted file mode 100644 index a651923ef5..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/bad/Student.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.bad; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Course.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Course.java deleted file mode 100644 index aefc9692bb..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Course.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.List; - -public class Course { - private String id; - private String desc; - private int duration ; - - List prerequisites; - - public List getPrerequisites() { - return prerequisites; - } - -} - - diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseOffering.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseOffering.java deleted file mode 100644 index 8660ec8109..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseOffering.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class CourseOffering { - private Course course; - private String location; - private String teacher; - private int maxStudents; - - List students = new ArrayList(); - - public List getStudents() { - return students; - } - public int getMaxStudents() { - return maxStudents; - } - public Course getCourse() { - return course; - } - - - // 第二步: 把主要逻辑移动到CourseOffering 中 - public void addStudent(Student student){ - - if(student.canAttend(course) - && this.maxStudents > students.size()){ - students.add(student); - } - } - // 第三步: 重构CourseService -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseService.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseService.java deleted file mode 100644 index 22ba4a5450..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/CourseService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coderising.ood.course.good; - - - -public class CourseService { - - public void chooseCourse(Student student, CourseOffering sc){ - //第一步:重构: canAttend , 但是还有问题 - if(student.canAttend(sc.getCourse()) - && sc.getMaxStudents() > sc.getStudents().size()){ - sc.getStudents().add(student); - } - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Student.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Student.java deleted file mode 100644 index 2c7e128b2a..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/course/good/Student.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.coderising.ood.course.good; - -import java.util.ArrayList; -import java.util.List; - -public class Student { - private String id; - private String name; - private List coursesAlreadyTaken = new ArrayList(); - - public List getCoursesAlreadyTaken() { - return coursesAlreadyTaken; - } - - public boolean canAttend(Course course){ - return this.coursesAlreadyTaken.containsAll( - course.getPrerequisites()); - } -} - - diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/DateUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/DateUtil.java deleted file mode 100644 index b6cf28c096..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/DateUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class DateUtil { - - public static String getCurrentDateAsString() { - - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/MailUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/MailUtil.java deleted file mode 100644 index ec54b839c5..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/ocp/MailUtil.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.ocp; - -public class MailUtil { - - public static void send(String logMsg) { - // TODO Auto-generated method stub - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/Configuration.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/Configuration.java deleted file mode 100644 index f328c1816a..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/Configuration.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coderising.ood.srp; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - - return configurations.get(key); - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java deleted file mode 100644 index 8695aed644..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/ConfigurationKeys.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coderising.ood.srp; - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/DBUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/DBUtil.java deleted file mode 100644 index 82e9261d18..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/DBUtil.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.coderising.ood.srp; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * @param sql - * @return - */ - public static List query(String sql){ - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/MailUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/MailUtil.java deleted file mode 100644 index 9f9e749af7..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 781587a846..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -public class PromotionMail { - - - protected String sendMailQuery = null; - - - protected String smtpHost = null; - protected String altSmtpHost = null; - protected String fromAddress = null; - protected String toAddress = null; - protected String subject = null; - protected String message = null; - - protected String productID = null; - protected String productDesc = null; - - private static Configuration config; - - - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - - public static void main(String[] args) throws Exception { - - File f = new File("C:\\coderising\\workspace_ds\\ood-example\\src\\product_promotion.txt"); - boolean emailDebug = false; - - PromotionMail pe = new PromotionMail(f, emailDebug); - - } - - - public PromotionMail(File file, boolean mailDebug) throws Exception { - - //读取配置文件, 文件中只有一行用空格隔开, 例如 P8756 iPhone8 - readFile(file); - - - config = new Configuration(); - - setSMTPHost(); - setAltSMTPHost(); - - - setFromAddress(); - - - setLoadQuery(); - - sendEMails(mailDebug, loadMailingList()); - - - } - - - - - protected void setProductID(String productID) - { - this.productID = productID; - - } - - protected String getproductID() - { - return productID; - } - - protected void setLoadQuery() throws Exception { - - sendMailQuery = "Select name from subscriptions " - + "where product_id= '" + productID +"' " - + "and send_mail=1 "; - - - System.out.println("loadQuery set"); - } - - - protected void setSMTPHost() - { - smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - } - - - protected void setAltSMTPHost() - { - altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - - } - - - protected void setFromAddress() - { - fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - protected void setMessage(HashMap userInfo) throws IOException - { - - String name = (String) userInfo.get(NAME_KEY); - - subject = "您关注的产品降价了"; - message = "尊敬的 "+name+", 您关注的产品 " + productDesc + " 降价了,欢迎购买!" ; - - - - } - - - protected void readFile(File file) throws IOException // @02C - { - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - String temp = br.readLine(); - String[] data = temp.split(" "); - - setProductID(data[0]); - setProductDesc(data[1]); - - System.out.println("产品ID = " + productID + "\n"); - System.out.println("产品描述 = " + productDesc + "\n"); - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - } - - private void setProductDesc(String desc) { - this.productDesc = desc; - } - - - protected void configureEMail(HashMap userInfo) throws IOException - { - toAddress = (String) userInfo.get(EMAIL_KEY); - if (toAddress.length() > 0) - setMessage(userInfo); - } - - protected List loadMailingList() throws Exception { - return DBUtil.query(this.sendMailQuery); - } - - - protected void sendEMails(boolean debug, List mailingList) throws IOException - { - - System.out.println("开始发送邮件"); - - - if (mailingList != null) { - Iterator iter = mailingList.iterator(); - while (iter.hasNext()) { - configureEMail((HashMap) iter.next()); - try - { - if (toAddress.length() > 0) - MailUtil.sendEmail(toAddress, fromAddress, subject, message, smtpHost, debug); - } - catch (Exception e) - { - - try { - MailUtil.sendEmail(toAddress, fromAddress, subject, message, altSmtpHost, debug); - - } catch (Exception e2) - { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - - - } - - else { - System.out.println("没有邮件发送"); - - } - - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index a98917f829..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo R15 -P4955 Vivo X20 \ No newline at end of file diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/Iterator.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/List.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/List.java deleted file mode 100644 index 10d13b5832..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/List.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index, Object o); - public Object get(int index); - public Object remove(int index); - public int size(); -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayList.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayList.java deleted file mode 100644 index 4576c016af..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayList.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.array; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class ArrayList implements List { - - private int size = 0; - - private Object[] elementData = new Object[100]; - - public void add(Object o){ - - } - public void add(int index, Object o){ - - } - - public Object get(int index){ - return null; - } - - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayUtil.java deleted file mode 100644 index c17e6def49..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/array/ArrayUtil.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.coding.basic.array; - -import java.util.Arrays; - -import javax.management.RuntimeErrorException; - -public class ArrayUtil { - - /** - * 给定一个整形数组a , 对该数组的值进行置换 例如: a = [7, 9 , 30, 3] , 置换后为 [3, 30, 9,7] 如果 a = - * [7, 9, 30, 3, 4] , 置换后为 [4,3, 30 , 9,7] - * - * @param origin - * @return - */ - public void reverseArray(int[] origin) { - if (origin != null && origin.length > 1) { - for (int i = 0; i < origin.length / 2; i++) { - int temp = origin[i]; - origin[i] = origin[origin.length - 1 - i]; - origin[origin.length - 1 - i] = temp; - } - } - } - - /** - * 现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} - * 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: {1,3,4,5,6,6,5,4,7,6,7,5} - * - * @param oldArray - * @return - */ - - public int[] removeZero(int[] oldArray) { - // JDK 1.8 - // int[] newArray = Arrays.stream(oldArray).filter(item->item - // !=0).toArray(); - - int[] newArray = new int[oldArray.length]; - - int zeroCount = 0; - for (int i = 0; i < oldArray.length; i++) { - if (oldArray[i] == 0) { - zeroCount++; - } else { - newArray[i - zeroCount] = oldArray[i]; - } - } - if (zeroCount == 0) { - return Arrays.copyOf(oldArray, oldArray.length); - } else { - return Arrays.copyOf(newArray, oldArray.length - zeroCount); - } - } - - /** - * 给定两个已经排序好的整形数组, a1和a2 , 创建一个新的数组a3, 使得a3 包含a1和a2 的所有元素, 并且仍然是有序的 例如 a1 = - * [3, 5, 7,8] a2 = [4, 5, 6,7] 则 a3 为[3,4,5,6,7,8] , 注意: 已经消除了重复 - * - * @param array1 - * @param array2 - * @return - */ - - public int[] merge(int[] array1, int[] array2) { - return null; - } - - /** - * 把一个已经存满数据的数组 oldArray的容量进行扩展, 扩展后的新数据大小为oldArray.length + size - * 注意,老数组的元素在新数组中需要保持 例如 oldArray = [2,3,6] , size = 3,则返回的新数组为 - * [2,3,6,0,0,0] - * - * @param oldArray - * @param size - * @return - */ - public int[] grow(int[] oldArray, int size) { - if (oldArray.length + size < 0) { - throw new RuntimeErrorException(null, "size + oldArray.length 不能小于0"); - } - int[] newArray = new int[oldArray.length + size]; - - if (size < 0) { - for (int i = 0; i < newArray.length; i++) { - newArray[i] = oldArray[i]; - } - } else { - for (int i = 0; i < oldArray.length; i++) { - newArray[i] = oldArray[i]; - } - } - return newArray; - } - - /** - * 斐波那契数列为:1,1,2,3,5,8,13,21...... ,给定一个最大值, 返回小于该值的数列 例如, max = 15 , - * 则返回的数组应该为 [1,1,2,3,5,8,13] max = 1, 则返回空数组 [] - * - * @param max - * @return - */ - public int[] fibonacci(int max) { - if (max <= 1) { - return new int[0]; - } - int a = 1; - int count = 1; - for (int i = 1; i <= max; i += a) { - a += i; - count+=2; - } - - int[] result = new int[count]; - - a = 1; - count = 0; - result[count++] = 1; - - for (int i = 1; i <= max; i += a) { - a += i; - result[count++] = i; - result[count++] = a; - } - return result; - } - - /** - * 返回小于给定最大值max的所有素数数组 例如max = 23, 返回的数组为[2,3,5,7,11,13,17,19] - * - * @param max - * @return - */ - public int[] getPrimes(int max) { - return null; - } - - /** - * 所谓“完数”, 是指这个数恰好等于它的因子之和,例如6=1+2+3 给定一个最大值max, 返回一个数组, 数组中是小于max 的所有完数 - * - * @param max - * @return - */ - public int[] getPerfectNumbers(int max) { - return null; - } - - /** - * 用seperator 把数组 array给连接起来 例如array= [3,8,9], seperator = "-" 则返回值为"3-8-9" - * - * @param array - * @param s - * @return - */ - public String join(int[] array, String seperator) { - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrame.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrame.java deleted file mode 100644 index 994a241a3d..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrame.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.linklist; - - -public class LRUPageFrame { - - private static class Node { - - Node prev; - Node next; - int pageNum; - - Node() { - } - } - - private int capacity; - - private int currentSize; - private Node first;// 链表头 - private Node last;// 链表尾 - - - public LRUPageFrame(int capacity) { - this.currentSize = 0; - this.capacity = capacity; - - } - - /** - * 获取缓存中对象 - * - * @param key - * @return - */ - public void access(int pageNum) { - - - } - - - public String toString(){ - StringBuilder buffer = new StringBuilder(); - Node node = first; - while(node != null){ - buffer.append(node.pageNum); - - node = node.next; - if(node != null){ - buffer.append(","); - } - } - return buffer.toString(); - } - - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java deleted file mode 100644 index 7fd72fc2b4..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LRUPageFrameTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic.linklist; - -import org.junit.Assert; - -import org.junit.Test; - - -public class LRUPageFrameTest { - - @Test - public void testAccess() { - LRUPageFrame frame = new LRUPageFrame(3); - frame.access(7); - frame.access(0); - frame.access(1); - Assert.assertEquals("1,0,7", frame.toString()); - frame.access(2); - Assert.assertEquals("2,1,0", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(0); - Assert.assertEquals("0,2,1", frame.toString()); - frame.access(3); - Assert.assertEquals("3,0,2", frame.toString()); - frame.access(0); - Assert.assertEquals("0,3,2", frame.toString()); - frame.access(4); - Assert.assertEquals("4,0,3", frame.toString()); - frame.access(5); - Assert.assertEquals("5,4,0", frame.toString()); - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LinkedList.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LinkedList.java deleted file mode 100644 index f4c7556a2e..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/linklist/LinkedList.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.coding.basic.linklist; - -import com.coding.basic.Iterator; -import com.coding.basic.List; - -public class LinkedList implements List { - - private Node head; - - public void add(Object o){ - - } - public void add(int index , Object o){ - - } - public Object get(int index){ - return null; - } - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public void addFirst(Object o){ - - } - public void addLast(Object o){ - - } - public Object removeFirst(){ - return null; - } - public Object removeLast(){ - return null; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - } - - /** - * 把该链表逆置 - * 例如链表为 3->7->10 , 逆置后变为 10->7->3 - */ - public void reverse(){ - - } - - /** - * 删除一个单链表的前半部分 - * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 - * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 - - */ - public void removeFirstHalf(){ - - } - - /** - * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 - * @param i - * @param length - */ - public void remove(int i, int length){ - - } - /** - * 假定当前链表和listB均包含已升序排列的整数 - * 从当前链表中取出那些listB所指定的元素 - * 例如当前链表 = 11->101->201->301->401->501->601->701 - * listB = 1->3->4->6 - * 返回的结果应该是[101,301,401,601] - * @param list - */ - public int[] getElements(LinkedList list){ - return null; - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 从当前链表中中删除在listB中出现的元素 - - * @param list - */ - - public void subtract(LinkedList list){ - - } - - /** - * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) - */ - public void removeDuplicateValues(){ - - } - - /** - * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 - * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) - * @param min - * @param max - */ - public void removeRange(int min, int max){ - - } - - /** - * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) - * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 - * @param list - */ - public LinkedList intersection( LinkedList list){ - return null; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/CircleQueue.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/CircleQueue.java deleted file mode 100644 index 2e0550c67e..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/CircleQueue.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coding.basic.queue; - -/** - * 用数组实现循环队列 - * @author liuxin - * - * @param - */ -public class CircleQueue { - - private final static int DEFAULT_SIZE = 10; - - //用数组来保存循环队列的元素 - private Object[] elementData = new Object[DEFAULT_SIZE] ; - - //队头 - private int front = 0; - //队尾 - private int rear = 0; - - public boolean isEmpty() { - return false; - - } - - public int size() { - return -1; - } - - - - public void enQueue(E data) { - - } - - public E deQueue() { - return null; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Josephus.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Josephus.java deleted file mode 100644 index 6a3ea639b9..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Josephus.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.queue; - -import java.util.List; - -/** - * 用Queue来实现Josephus问题 - * 在这个古老的问题当中, N个深陷绝境的人一致同意用这种方式减少生存人数: N个人围成一圈(位置记为0到N-1), 并且从第一个人报数, 报到M的人会被杀死, 直到最后一个人留下来 - * 该方法返回一个List, 包含了被杀死人的次序 - * @author liuxin - * - */ -public class Josephus { - - public static List execute(int n, int m){ - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/JosephusTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/JosephusTest.java deleted file mode 100644 index 7d90318b51..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/JosephusTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.coding.basic.queue; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class JosephusTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testExecute() { - - Assert.assertEquals("[1, 3, 5, 0, 4, 2, 6]", Josephus.execute(7, 2).toString()); - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Queue.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Queue.java deleted file mode 100644 index c4c4b7325e..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/Queue.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.coding.basic.queue; - -import java.util.NoSuchElementException; - -public class Queue { - private Node first; - private Node last; - private int size; - - - private static class Node { - private E item; - private Node next; - } - - - public Queue() { - first = null; - last = null; - size = 0; - } - - - public boolean isEmpty() { - return first == null; - } - - public int size() { - return size; - } - - - - public void enQueue(E data) { - Node oldlast = last; - last = new Node(); - last.item = data; - last.next = null; - if (isEmpty()) { - first = last; - } - else{ - oldlast.next = last; - } - size++; - } - - public E deQueue() { - if (isEmpty()) { - throw new NoSuchElementException("Queue underflow"); - } - E item = first.item; - first = first.next; - size--; - if (isEmpty()) { - last = null; - } - return item; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java deleted file mode 100644 index cef19a8b59..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/queue/QueueWithTwoStacks.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.coding.basic.queue; - -import java.util.Stack; - -/** - * 用两个栈来实现一个队列 - * @author liuxin - * - * @param - */ -public class QueueWithTwoStacks { - private Stack stack1; - private Stack stack2; - - - public QueueWithTwoStacks() { - stack1 = new Stack(); - stack2 = new Stack(); - } - - - - - public boolean isEmpty() { - return false; - } - - - - public int size() { - return -1; - } - - - - public void enQueue(E item) { - - } - - public E deQueue() { - return null; - } - - - - } - diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/QuickMinStack.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/QuickMinStack.java deleted file mode 100644 index f391d92b8f..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/QuickMinStack.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coding.basic.stack; - -/** - * 设计一个栈,支持栈的push和pop操作,以及第三种操作findMin, 它返回改数据结构中的最小元素 - * finMin操作最坏的情形下时间复杂度应该是O(1) , 简单来讲,操作一次就可以得到最小值 - * @author liuxin - * - */ -public class QuickMinStack { - public void push(int data){ - - } - public int pop(){ - return -1; - } - public int findMin(){ - return -1; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/Stack.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/Stack.java deleted file mode 100644 index fedb243604..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/Stack.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.basic.stack; - -import com.coding.basic.array.ArrayList; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtil.java deleted file mode 100644 index b0ec38161d..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtil.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.coding.basic.stack; -import java.util.Stack; -public class StackUtil { - - - - /** - * 假设栈中的元素是Integer, 从栈顶到栈底是 : 5,4,3,2,1 调用该方法后, 元素次序变为: 1,2,3,4,5 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - */ - public static void reverse(Stack s) { - - - - } - - /** - * 删除栈中的某个元素 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * - * @param o - */ - public static void remove(Stack s,Object o) { - - } - - /** - * 从栈顶取得len个元素, 原来的栈中元素保持不变 - * 注意:只能使用Stack的基本操作,即push,pop,peek,isEmpty, 可以使用另外一个栈来辅助 - * @param len - * @return - */ - public static Object[] getTop(Stack s,int len) { - return null; - } - /** - * 字符串s 可能包含这些字符: ( ) [ ] { }, a,b,c... x,yz - * 使用堆栈检查字符串s中的括号是不是成对出现的。 - * 例如s = "([e{d}f])" , 则该字符串中的括号是成对出现, 该方法返回true - * 如果 s = "([b{x]y})", 则该字符串中的括号不是成对出现的, 该方法返回false; - * @param s - * @return - */ - public static boolean isValidPairs(String s){ - return false; - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtilTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtilTest.java deleted file mode 100644 index 76f2cb7668..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackUtilTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.coding.basic.stack; - -import java.util.Stack; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -public class StackUtilTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - - @Test - public void testReverse() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - Assert.assertEquals("[1, 2, 3, 4, 5]", s.toString()); - StackUtil.reverse(s); - Assert.assertEquals("[5, 4, 3, 2, 1]", s.toString()); - } - - @Test - public void testRemove() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - StackUtil.remove(s, 2); - Assert.assertEquals("[1, 3]", s.toString()); - } - - @Test - public void testGetTop() { - Stack s = new Stack(); - s.push(1); - s.push(2); - s.push(3); - s.push(4); - s.push(5); - { - Object[] values = StackUtil.getTop(s, 3); - Assert.assertEquals(5, values[0]); - Assert.assertEquals(4, values[1]); - Assert.assertEquals(3, values[2]); - } - } - - @Test - public void testIsValidPairs() { - Assert.assertTrue(StackUtil.isValidPairs("([e{d}f])")); - Assert.assertFalse(StackUtil.isValidPairs("([b{x]y})")); - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java deleted file mode 100644 index d0ab4387d2..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/StackWithTwoQueues.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.coding.basic.stack; - - -public class StackWithTwoQueues { - - - public void push(int data) { - - } - - public int pop() { - return -1; - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java deleted file mode 100644 index e86d056a24..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/TwoStackInOneArray.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.stack; - -/** - * 用一个数组实现两个栈 - * 将数组的起始位置看作是第一个栈的栈底,将数组的尾部看作第二个栈的栈底,压栈时,栈顶指针分别向中间移动,直到两栈顶指针相遇,则扩容。 - * @author liuxin - * - */ -public class TwoStackInOneArray { - Object[] data = new Object[10]; - - /** - * 向第一个栈中压入元素 - * @param o - */ - public void push1(Object o){ - - } - /** - * 从第一个栈中弹出元素 - * @return - */ - public Object pop1(){ - return null; - } - - /** - * 获取第一个栈的栈顶元素 - * @return - */ - - public Object peek1(){ - return null; - } - /* - * 向第二个栈压入元素 - */ - public void push2(Object o){ - - } - /** - * 从第二个栈弹出元素 - * @return - */ - public Object pop2(){ - return null; - } - /** - * 获取第二个栈的栈顶元素 - * @return - */ - - public Object peek2(){ - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExpr.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExpr.java deleted file mode 100644 index ef85ff007f..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExpr.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coding.basic.stack.expr; - -public class InfixExpr { - String expr = null; - - public InfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java deleted file mode 100644 index 20e34e8852..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixExprTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class InfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - //InfixExpr expr = new InfixExpr("300*20+12*5-20/4"); - { - InfixExpr expr = new InfixExpr("2+3*4+5"); - Assert.assertEquals(19.0, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("3*20+12*5-40/2"); - Assert.assertEquals(100.0, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("3*20/2"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("20/2*3"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - - { - InfixExpr expr = new InfixExpr("10-30+50"); - Assert.assertEquals(30, expr.evaluate(), 0.001f); - } - { - InfixExpr expr = new InfixExpr("10-2*3+50"); - Assert.assertEquals(54, expr.evaluate(), 0.001f); - } - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java deleted file mode 100644 index 96a2194a67..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/InfixToPostfix.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; - -public class InfixToPostfix { - - public static List convert(String expr) { - - return null; - } - - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java deleted file mode 100644 index dcbb18be4b..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExpr.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PostfixExpr { -String expr = null; - - public PostfixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java deleted file mode 100644 index c0435a2db5..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PostfixExprTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - - - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class PostfixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - PostfixExpr expr = new PostfixExpr("6 5 2 3 + 8 * + 3 + *"); - Assert.assertEquals(288, expr.evaluate(),0.0f); - } - { - //9+(3-1)*3+10/2 - PostfixExpr expr = new PostfixExpr("9 3 1-3*+ 10 2/+"); - Assert.assertEquals(20, expr.evaluate(),0.0f); - } - - { - //10-2*3+50 - PostfixExpr expr = new PostfixExpr("10 2 3 * - 50 +"); - Assert.assertEquals(54, expr.evaluate(),0.0f); - } - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java deleted file mode 100644 index 956927e2df..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExpr.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.List; -import java.util.Stack; - -public class PrefixExpr { - String expr = null; - - public PrefixExpr(String expr) { - this.expr = expr; - } - - public float evaluate() { - return 0.0f; - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java deleted file mode 100644 index 5cec210e75..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/PrefixExprTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.coding.basic.stack.expr; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -public class PrefixExprTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testEvaluate() { - { - // 2*3+4*5 - PrefixExpr expr = new PrefixExpr("+ * 2 3* 4 5"); - Assert.assertEquals(26, expr.evaluate(),0.001f); - } - { - // 4*2 + 6+9*2/3 -8 - PrefixExpr expr = new PrefixExpr("-++6/*2 9 3 * 4 2 8"); - Assert.assertEquals(12, expr.evaluate(),0.001f); - } - { - //(3+4)*5-6 - PrefixExpr expr = new PrefixExpr("- * + 3 4 5 6"); - Assert.assertEquals(29, expr.evaluate(),0.001f); - } - { - //1+((2+3)*4)-5 - PrefixExpr expr = new PrefixExpr("- + 1 * + 2 3 4 5"); - Assert.assertEquals(16, expr.evaluate(),0.001f); - } - - - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/Token.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/Token.java deleted file mode 100644 index 8579743fe9..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/Token.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -class Token { - public static final List OPERATORS = Arrays.asList("+", "-", "*", "/"); - private static final Map priorities = new HashMap<>(); - static { - priorities.put("+", 1); - priorities.put("-", 1); - priorities.put("*", 2); - priorities.put("/", 2); - } - static final int OPERATOR = 1; - static final int NUMBER = 2; - String value; - int type; - public Token(int type, String value){ - this.type = type; - this.value = value; - } - - public boolean isNumber() { - return type == NUMBER; - } - - public boolean isOperator() { - return type == OPERATOR; - } - - public int getIntValue() { - return Integer.valueOf(value).intValue(); - } - public String toString(){ - return value; - } - - public boolean hasHigherPriority(Token t){ - if(!this.isOperator() && !t.isOperator()){ - throw new RuntimeException("numbers can't compare priority"); - } - return priorities.get(this.value) - priorities.get(t.value) > 0; - } - - - -} \ No newline at end of file diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParser.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParser.java deleted file mode 100644 index d3b0f167e1..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParser.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.coding.basic.stack.expr; - -import java.util.ArrayList; -import java.util.List; - -public class TokenParser { - - - public List parse(String expr) { - List tokens = new ArrayList<>(); - - int i = 0; - - while (i < expr.length()) { - - char c = expr.charAt(i); - - if (isOperator(c)) { - - Token t = new Token(Token.OPERATOR, String.valueOf(c)); - tokens.add(t); - i++; - - } else if (Character.isDigit(c)) { - - int nextOperatorIndex = indexOfNextOperator(i, expr); - String value = expr.substring(i, nextOperatorIndex); - Token t = new Token(Token.NUMBER, value); - tokens.add(t); - i = nextOperatorIndex; - - } else{ - System.out.println("char :["+c+"] is not number or operator,ignore"); - i++; - } - - } - return tokens; - } - - private int indexOfNextOperator(int i, String expr) { - - while (Character.isDigit(expr.charAt(i))) { - i++; - if (i == expr.length()) { - break; - } - } - return i; - - } - - private boolean isOperator(char c) { - String sc = String.valueOf(c); - return Token.OPERATORS.contains(sc); - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java deleted file mode 100644 index 399d3e857e..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/stack/expr/TokenParserTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coding.basic.stack.expr; - -import static org.junit.Assert.*; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class TokenParserTest { - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void test() { - - TokenParser parser = new TokenParser(); - List tokens = parser.parse("300*20+12*5-20/4"); - - Assert.assertEquals(300, tokens.get(0).getIntValue()); - Assert.assertEquals("*", tokens.get(1).toString()); - Assert.assertEquals(20, tokens.get(2).getIntValue()); - Assert.assertEquals("+", tokens.get(3).toString()); - Assert.assertEquals(12, tokens.get(4).getIntValue()); - Assert.assertEquals("*", tokens.get(5).toString()); - Assert.assertEquals(5, tokens.get(6).getIntValue()); - Assert.assertEquals("-", tokens.get(7).toString()); - Assert.assertEquals(20, tokens.get(8).getIntValue()); - Assert.assertEquals("/", tokens.get(9).toString()); - Assert.assertEquals(4, tokens.get(10).getIntValue()); - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTree.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTree.java deleted file mode 100644 index 4536ee7a2b..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTree.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; - -import com.coding.basic.queue.Queue; - -public class BinarySearchTree { - - BinaryTreeNode root; - public BinarySearchTree(BinaryTreeNode root){ - this.root = root; - } - public BinaryTreeNode getRoot(){ - return root; - } - public T findMin(){ - return null; - } - public T findMax(){ - return null; - } - public int height() { - return -1; - } - public int size() { - return -1; - } - public void remove(T e){ - - } - public List levelVisit(){ - - return null; - } - public boolean isValid(){ - return false; - } - public T getLowestCommonAncestor(T n1, T n2){ - return null; - - } - /** - * 返回所有满足下列条件的节点的值: n1 <= n <= n2 , n 为 - * 该二叉查找树中的某一节点 - * @param n1 - * @param n2 - * @return - */ - public List getNodesBetween(T n1, T n2){ - return null; - } - -} - diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java deleted file mode 100644 index 4a53dbe2f1..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinarySearchTreeTest.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinarySearchTreeTest { - - BinarySearchTree tree = null; - - @Before - public void setUp() throws Exception { - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(1); - root.left.right = new BinaryTreeNode(4); - root.left.right.left = new BinaryTreeNode(3); - root.left.right.right = new BinaryTreeNode(5); - tree = new BinarySearchTree(root); - } - - @After - public void tearDown() throws Exception { - tree = null; - } - - @Test - public void testFindMin() { - Assert.assertEquals(1, tree.findMin().intValue()); - - } - - @Test - public void testFindMax() { - Assert.assertEquals(8, tree.findMax().intValue()); - } - - @Test - public void testHeight() { - Assert.assertEquals(4, tree.height()); - } - - @Test - public void testSize() { - Assert.assertEquals(7, tree.size()); - } - - @Test - public void testRemoveLeaf() { - tree.remove(3); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(4, root.left.right.data.intValue()); - - } - @Test - public void testRemoveMiddleNode1() { - tree.remove(4); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(5, root.left.right.data.intValue()); - Assert.assertEquals(3, root.left.right.left.data.intValue()); - } - @Test - public void testRemoveMiddleNode2() { - tree.remove(2); - BinaryTreeNode root= tree.getRoot(); - Assert.assertEquals(3, root.left.data.intValue()); - Assert.assertEquals(4, root.left.right.data.intValue()); - } - - @Test - public void testLevelVisit() { - List values = tree.levelVisit(); - Assert.assertEquals("[6, 2, 8, 1, 4, 3, 5]", values.toString()); - - } - @Test - public void testLCA(){ - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 5).intValue()); - Assert.assertEquals(2,tree.getLowestCommonAncestor(1, 4).intValue()); - Assert.assertEquals(6,tree.getLowestCommonAncestor(3, 8).intValue()); - } - @Test - public void testIsValid() { - - Assert.assertTrue(tree.isValid()); - - BinaryTreeNode root = new BinaryTreeNode(6); - root.left = new BinaryTreeNode(2); - root.right = new BinaryTreeNode(8); - root.left.left = new BinaryTreeNode(4); - root.left.right = new BinaryTreeNode(1); - root.left.right.left = new BinaryTreeNode(3); - tree = new BinarySearchTree(root); - - Assert.assertFalse(tree.isValid()); - } - @Test - public void testGetNodesBetween(){ - List numbers = this.tree.getNodesBetween(3, 8); - System.out.println(numbers.toString()); - - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeNode.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeNode.java deleted file mode 100644 index c1421cd398..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeNode.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.coding.basic.tree; - -public class BinaryTreeNode { - - public T data; - public BinaryTreeNode left; - public BinaryTreeNode right; - - public BinaryTreeNode(T data){ - this.data=data; - } - public T getData() { - return data; - } - public void setData(T data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java deleted file mode 100644 index b033cbe1d5..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtil.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.coding.basic.tree; - -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -public class BinaryTreeUtil { - /** - * 用递归的方式实现对二叉树的前序遍历, 需要通过BinaryTreeUtilTest测试 - * - * @param root - * @return - */ - public static List preOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - - /** - * 用递归的方式实现对二叉树的中遍历 - * - * @param root - * @return - */ - public static List inOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - - /** - * 用递归的方式实现对二叉树的后遍历 - * - * @param root - * @return - */ - public static List postOrderVisit(BinaryTreeNode root) { - List result = new ArrayList(); - - return result; - } - /** - * 用非递归的方式实现对二叉树的前序遍历 - * @param root - * @return - */ - public static List preOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - - return result; - } - /** - * 用非递归的方式实现对二叉树的中序遍历 - * @param root - * @return - */ - public static List inOrderWithoutRecursion(BinaryTreeNode root) { - - List result = new ArrayList(); - - return result; - } - -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java deleted file mode 100644 index 41857e137d..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/BinaryTreeUtilTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.coding.basic.tree; - -import java.util.List; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - - -public class BinaryTreeUtilTest { - - BinaryTreeNode root = null; - @Before - public void setUp() throws Exception { - root = new BinaryTreeNode(1); - root.setLeft(new BinaryTreeNode(2)); - root.setRight(new BinaryTreeNode(5)); - root.getLeft().setLeft(new BinaryTreeNode(3)); - root.getLeft().setRight(new BinaryTreeNode(4)); - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testPreOrderVisit() { - - List result = BinaryTreeUtil.preOrderVisit(root); - Assert.assertEquals("[1, 2, 3, 4, 5]", result.toString()); - - - } - @Test - public void testInOrderVisit() { - - - List result = BinaryTreeUtil.inOrderVisit(root); - Assert.assertEquals("[3, 2, 4, 1, 5]", result.toString()); - - } - - @Test - public void testPostOrderVisit() { - - - List result = BinaryTreeUtil.postOrderVisit(root); - Assert.assertEquals("[3, 4, 2, 5, 1]", result.toString()); - - } - - - @Test - public void testInOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.inOrderWithoutRecursion(root); - Assert.assertEquals("[3, 2, 6, 4, 7, 1, 5]", result.toString()); - - } - @Test - public void testPreOrderVisitWithoutRecursion() { - BinaryTreeNode node = root.getLeft().getRight(); - node.setLeft(new BinaryTreeNode(6)); - node.setRight(new BinaryTreeNode(7)); - - List result = BinaryTreeUtil.preOrderWithoutRecursion(root); - Assert.assertEquals("[1, 2, 3, 4, 6, 7, 5]", result.toString()); - - } -} diff --git a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/FileList.java b/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/FileList.java deleted file mode 100644 index 6e65192e4a..0000000000 --- a/students/992331664/data-structure/data-structure/src/main/java/com/coding/basic/tree/FileList.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coding.basic.tree; - -import java.io.File; - -public class FileList { - public void list(File f) { - } - - -} diff --git a/students/992331664/data-structure/data-structure/src/test/java/com/coding/basic/array/ArrayUtilTest.java b/students/992331664/data-structure/data-structure/src/test/java/com/coding/basic/array/ArrayUtilTest.java deleted file mode 100644 index 255267ce2c..0000000000 --- a/students/992331664/data-structure/data-structure/src/test/java/com/coding/basic/array/ArrayUtilTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coding.basic.array; - -import java.util.Arrays; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class ArrayUtilTest { - - ArrayUtil arrayUtil; - - int[] resultArray ; - - @Before - public void before(){ - arrayUtil = new ArrayUtil(); - } - - @After - public void printArray(){ - System.out.println(Arrays.toString(resultArray)); - } - - @Test - public void testReverseArray(){ - int[] arr = {12,344,5,6,0,4,65,4,}; - arrayUtil.reverseArray(arr); - resultArray = arr; - } - - @Test - public void testRemoveZero(){ - int[] arr = {}; - resultArray = arrayUtil.removeZero(arr); - } - - @Test - public void testMerge(){ - } - - @Test - public void testGrow(){ - int[] arr = {1,6,4,2,0}; - resultArray = arrayUtil.grow(arr, 2); - } - - @Test - public void testFibonacci(){ - resultArray = arrayUtil.fibonacci(15); - } -} diff --git a/students/992331664/ood/ood/build.gradle b/students/992331664/ood/ood/build.gradle deleted file mode 100644 index 588e5e86aa..0000000000 --- a/students/992331664/ood/ood/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This build file was auto generated by running the Gradle 'init' task - * by 'gant' at '17-6-13 上午11:30' with Gradle 3.0 - * - * This generated file contains a sample Java project to get you started. - * For more details take a look at the Java Quickstart chapter in the Gradle - * user guide available at https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html - */ - -// Apply the java plugin to add support for Java -apply plugin: 'java' - -// In this section you declare where to find the dependencies of your project -repositories { - // Use 'jcenter' for resolving your dependencies. - // You can declare any Maven/Ivy/file repository here. - jcenter() -} - -// In this section you declare the dependencies for your production and test code -dependencies { - // The production code uses the SLF4J logging API at compile time - compile 'org.slf4j:slf4j-api:1.7.21' - - // Declare the dependency for your favourite test framework you want to use in your tests. - // TestNG is also supported by the Gradle Test task. Just change the - // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add - // 'test.useTestNG()' to your build script. - testCompile 'junit:junit:4.12' -} diff --git a/students/992331664/ood/ood/gradle/wrapper/gradle-wrapper.properties b/students/992331664/ood/ood/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 5a2cbbeeab..0000000000 --- a/students/992331664/ood/ood/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Tue Jun 13 11:30:26 CST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip diff --git a/students/992331664/ood/ood/gradlew b/students/992331664/ood/ood/gradlew deleted file mode 100644 index 9aa616c273..0000000000 --- a/students/992331664/ood/ood/gradlew +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/students/992331664/ood/ood/gradlew.bat b/students/992331664/ood/ood/gradlew.bat deleted file mode 100644 index f9553162f1..0000000000 --- a/students/992331664/ood/ood/gradlew.bat +++ /dev/null @@ -1,84 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/students/992331664/ood/ood/settings.gradle b/students/992331664/ood/ood/settings.gradle deleted file mode 100644 index f98d8fb6d8..0000000000 --- a/students/992331664/ood/ood/settings.gradle +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This settings file was auto generated by the Gradle buildInit task - * by 'gant' at '17-6-13 上午11:30' with Gradle 3.0 - * - * The settings file is used to specify which projects to include in your build. - * In a single project build this file can be empty or even removed. - * - * Detailed information about configuring a multi-project build in Gradle can be found - * in the user guide at https://docs.gradle.org/3.0/userguide/multi_project_builds.html - */ - -/* -// To declare projects as part of a multi-project build use the 'include' method -include 'shared' -include 'api' -include 'services:webservice' -*/ - -rootProject.name = 'ood' diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java deleted file mode 100644 index 9df4e1c77a..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/PromotionMail.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import com.coderising.ood.srp.config.Configuration; -import com.coderising.ood.srp.config.ConnectionConfig; -import com.coderising.ood.srp.model.MailInfo; -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.model.Subscriptions; -import com.coderising.ood.srp.service.ProductService; -import com.coderising.ood.srp.service.SubscriptionsService; -import com.coderising.ood.srp.util.MailUtil; - -public class PromotionMail { - - protected SubscriptionsService subscriptionsService; - - protected ProductService productService; - - public PromotionMail(SubscriptionsService subscriptionsService, ProductService productService) { - this.subscriptionsService = subscriptionsService; - this.productService = productService; - } - - /** - * 发送促销邮件 - * - * @param file - * 促销产品文件 - * @param mailDebug - * @throws Exception - */ - public void sendPromotionMail(File file, boolean mailDebug) throws Exception { - - // 得到促销的产品 - List products = productService.doFindPromotionalProducts(file); - - // 得到促销产品的订阅信息 - List subscriptions = subscriptionsService.doFindByProducts(products); - - // 得到订阅人的邮箱和名称,邮箱内容 - List mails = getMails(subscriptions); - - // 发送邮箱 - sendEMails(new ConnectionConfig(new Configuration()), mails, mailDebug); - } - - // 得到发送的邮箱对象 - protected List getMails(List subscriptions) { - - List mails = new ArrayList(); - String subject = "您关注的产品降价了"; - - for (Subscriptions sub : subscriptions) { - String productDesc = sub.getProduct().getProductDesc(); - String message = "尊敬的 " + sub.getName() + ", 您关注的产品 " + productDesc + " 降价了,欢迎购买!"; - mails.add(new MailInfo(subject, message, sub.getEmail())); - } - return mails; - } - - // 发送邮件 - protected void sendEMails(ConnectionConfig config, List mails, boolean debug) { - if (mails == null) { - System.out.println("没有邮件需要发送"); - return; - } - System.out.println("开始发送邮件"); - Iterator iter = mails.iterator(); - while (iter.hasNext()) { - MailInfo mail = iter.next(); - if (mail.getToAddress().length() <= 0) { - continue; - } - try { - MailUtil.sendEmail(mail.getToAddress(), config.getFromAddress(), mail.getSubject(), mail.getMessage(),config.getSmtpHost(), debug); - } catch (Exception e) { - try { - MailUtil.sendEmail(mail.getToAddress(), config.getFromAddress(), mail.getSubject(),mail.getMessage(), config.getAltSmtpHost(), debug); - - } catch (Exception e2) { - System.out.println("通过备用 SMTP服务器发送邮件失败: " + e2.getMessage()); - } - } - } - System.out.println("发送邮件结束"); - } -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/Configuration.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/Configuration.java deleted file mode 100644 index bbed122807..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/Configuration.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coderising.ood.srp.config; -import java.util.HashMap; -import java.util.Map; - -public class Configuration { - - static Map configurations = new HashMap<>(); - static{ - configurations.put(ConfigurationKeys.SMTP_SERVER, "smtp.163.com"); - configurations.put(ConfigurationKeys.ALT_SMTP_SERVER, "smtp1.163.com"); - configurations.put(ConfigurationKeys.EMAIL_ADMIN, "admin@company.com"); - } - /** - * 应该从配置文件读, 但是这里简化为直接从一个map 中去读 - * @param key - * @return - */ - public String getProperty(String key) { - return configurations.get(key); - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java deleted file mode 100644 index cadb23ed24..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConfigurationKeys.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.coderising.ood.srp.config; - - -public class ConfigurationKeys { - - public static final String SMTP_SERVER = "smtp.server"; - public static final String ALT_SMTP_SERVER = "alt.smtp.server"; - public static final String EMAIL_ADMIN = "email.admin"; - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConnectionConfig.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConnectionConfig.java deleted file mode 100644 index 531efe251d..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/config/ConnectionConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.coderising.ood.srp.config; - -/** - * 邮箱连接配置类 - * - */ -public class ConnectionConfig { - private String smtpHost; - private String altSmtpHost; - private String fromAddress; - - public ConnectionConfig(Configuration config) { - this.smtpHost = config.getProperty(ConfigurationKeys.SMTP_SERVER); - this.altSmtpHost = config.getProperty(ConfigurationKeys.ALT_SMTP_SERVER); - this.fromAddress = config.getProperty(ConfigurationKeys.EMAIL_ADMIN); - } - - public String getSmtpHost() { - return smtpHost; - } - - public void setSmtpHost(String smtpHost) { - this.smtpHost = smtpHost; - } - - public String getAltSmtpHost() { - return altSmtpHost; - } - - public void setAltSmtpHost(String altSmtpHost) { - this.altSmtpHost = altSmtpHost; - } - - public String getFromAddress() { - return fromAddress; - } - - public void setFromAddress(String fromAddress) { - this.fromAddress = fromAddress; - } -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/MailInfo.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/MailInfo.java deleted file mode 100644 index 2744e2fd1f..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/MailInfo.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.coderising.ood.srp.model; - -/** - * 邮箱信息 - * - */ -public class MailInfo { - private String subject; - private String message; - private String toAddress; - - public MailInfo() { - super(); - } - - public MailInfo(String subject, String message, String toAddress) { - super(); - this.subject = subject; - this.message = message; - this.toAddress = toAddress; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getToAddress() { - return toAddress; - } - - public void setToAddress(String toAddress) { - this.toAddress = toAddress; - } - - @Override - public String toString() { - return "Mail [subject=" + subject + ", message=" + message + ", toAddress=" + toAddress + "]"; - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Product.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Product.java deleted file mode 100644 index fcfc5f7cf4..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Product.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.coderising.ood.srp.model; - -/** - * 产品信息 - */ -public class Product { - - private String productID; - - private String productDesc; - - public Product() { - } - - public String getProductID() { - return productID; - } - - public void setProductID(String productID) { - this.productID = productID; - } - - public String getProductDesc() { - return productDesc; - } - - public void setProductDesc(String productDesc) { - this.productDesc = productDesc; - } - - @Override - public String toString() { - return "Product [productID=" + productID + ", productDesc=" + productDesc + "]"; - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Subscriptions.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Subscriptions.java deleted file mode 100644 index 8a25fe19ed..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/model/Subscriptions.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.coderising.ood.srp.model; - -/** - * 订阅信息,主要有订阅产品,订阅用户 - * - */ -public class Subscriptions { - - // name 和 email 应该存放在用户信息中,如叫订阅用户, - private String name; - private String email; - private String productId; - private Product product; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public Product getProduct() { - return product; - } - - public void setProduct(Product product) { - this.product = product; - } - - @Override - public String toString() { - return "Subscriptions [name=" + name + ", email=" + email + ", productId=" + productId + ", product=" + product - + "]"; - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt deleted file mode 100644 index b7a974adb3..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/product_promotion.txt +++ /dev/null @@ -1,4 +0,0 @@ -P8756 iPhone8 -P3946 XiaoMi10 -P8904 Oppo_R15 -P4955 Vivo_X20 \ No newline at end of file diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/ProductService.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/ProductService.java deleted file mode 100644 index aae01818f9..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/ProductService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -import com.coderising.ood.srp.model.Product; - -public interface ProductService { - - /** - * 查询促销产品 - * @return 促销产品 - * @throws IOException - */ - List doFindPromotionalProducts(File file) throws IOException; -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/SubscriptionsService.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/SubscriptionsService.java deleted file mode 100644 index c31c25c084..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/SubscriptionsService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp.service; - -import java.util.List; - -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.model.Subscriptions; - -public interface SubscriptionsService { - - /** - * 查询产品的订阅人 - * - * @param products - * 产品 - * @return 订阅信息 - */ - List doFindByProducts(List products); -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/ProductServiceImpl.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/ProductServiceImpl.java deleted file mode 100644 index 66fe9b6d90..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/ProductServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.service.ProductService; - -public class ProductServiceImpl implements ProductService { - - @Override - public List doFindPromotionalProducts(File file) throws IOException { - - List products = new ArrayList(); - - BufferedReader br = null; - try { - br = new BufferedReader(new FileReader(file)); - while (br.read() != -1) { - Product product = new Product(); - String temp = br.readLine(); - String[] data = temp.split(" "); - product.setProductID(data[0]); - product.setProductDesc(data[1]); - products.add(product); - } - - } catch (IOException e) { - throw new IOException(e.getMessage()); - } finally { - br.close(); - } - return products; - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/SubscriptionsServiceImpl.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/SubscriptionsServiceImpl.java deleted file mode 100644 index 164621e2ea..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/service/impl/SubscriptionsServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.coderising.ood.srp.service.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.stream.Collectors; - -import com.coderising.ood.srp.model.Product; -import com.coderising.ood.srp.model.Subscriptions; -import com.coderising.ood.srp.service.SubscriptionsService; -import com.coderising.ood.srp.util.DBUtil; - -public class SubscriptionsServiceImpl implements SubscriptionsService { - - private static final String NAME_KEY = "NAME"; - private static final String EMAIL_KEY = "EMAIL"; - - @SuppressWarnings({ "unused", "rawtypes" }) - @Override - public List doFindByProducts(List products) { - - List productIds = products.stream().map(Product::getProductID).collect(Collectors.toList()); - String sendMailQuery = "Select name from subscriptions where product_id in( productIds ) and send_mail = 1 "; - List list = DBUtil.query(sendMailQuery); - - // 这里只是模拟数据 - List subscriptions = new ArrayList(); - for (int i = 0; i < list.size(); i++) { - HashMap userInfo = (HashMap) list.get(i); - Subscriptions ss = new Subscriptions(); - ss.setName((String) userInfo.get(NAME_KEY)); - ss.setEmail((String) userInfo.get(EMAIL_KEY)); - ss.setProduct(products.get(i)); - subscriptions.add(ss); - } - - return subscriptions; - } - -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/DBUtil.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/DBUtil.java deleted file mode 100644 index 33bb5cfd43..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/DBUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.coderising.ood.srp.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class DBUtil { - - /** - * 应该从数据库读, 但是简化为直接生成。 - * - * @param sql - * @return - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - public static List query(String sql) { - - List userList = new ArrayList(); - for (int i = 1; i <= 3; i++) { - HashMap userInfo = new HashMap(); - userInfo.put("NAME", "User" + i); - userInfo.put("EMAIL", "aa@bb.com"); - userList.add(userInfo); - } - - return userList; - } -} diff --git a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/MailUtil.java b/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/MailUtil.java deleted file mode 100644 index bb028c690c..0000000000 --- a/students/992331664/ood/ood/src/main/java/com/coderising/ood/srp/util/MailUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.coderising.ood.srp.util; - -public class MailUtil { - - public static void sendEmail(String toAddress, String fromAddress, String subject, String message, String smtpHost, - boolean debug) { - //假装发了一封邮件 - StringBuilder buffer = new StringBuilder(); - buffer.append("From:").append(fromAddress).append("\n"); - buffer.append("To:").append(toAddress).append("\n"); - buffer.append("Subject:").append(subject).append("\n"); - buffer.append("Content:").append(message).append("\n"); - System.out.println(buffer.toString()); - - } - - -} diff --git a/students/992331664/ood/ood/src/test/java/com/coderising/ood/srp/PromotionMailTest.java b/students/992331664/ood/ood/src/test/java/com/coderising/ood/srp/PromotionMailTest.java deleted file mode 100644 index a3c91dc4bb..0000000000 --- a/students/992331664/ood/ood/src/test/java/com/coderising/ood/srp/PromotionMailTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coderising.ood.srp; - -import java.io.File; - -import org.junit.Before; -import org.junit.Test; - -import com.coderising.ood.srp.service.ProductService; -import com.coderising.ood.srp.service.SubscriptionsService; -import com.coderising.ood.srp.service.impl.ProductServiceImpl; -import com.coderising.ood.srp.service.impl.SubscriptionsServiceImpl; - -public class PromotionMailTest { - - PromotionMail promotionMail; - - @Before - public void before() { - SubscriptionsService subscriptionsService = new SubscriptionsServiceImpl(); - ProductService productService = new ProductServiceImpl(); - promotionMail = new PromotionMail(subscriptionsService, productService); - } - - @Test - public void testSendPromotionMail() throws Exception { - String path = System.getProperty("user.dir"); - - path += "\\bin\\com\\coderising\\ood\\srp\\product_promotion.txt"; - - File file = new File(path); - - promotionMail.sendPromotionMail(file, false); - } -}