public void viewDetail(ArticleDTO article) { int rangeLimit = 10; int word = 0; char[] content = (article.getContent()).toCharArray(); StringBuilder contents = new StringBuilder(); System.out.println("ID: " + article.getId()); System.out.println("Author: " + article.getAuthor()); System.out.println("Title: " + article.getTitle()); // System.out.println("Content: " + article.getContent()); for (int i = 0; i < content.length; i++) { contents.append(content[i]); if (content[i] == ' ') { word++; if (word == rangeLimit) { contents.append(" "); word = 0; } } } System.out.println("content: \n" + contents.toString().trim()); System.out.println("Publish Date: " + article.getPublishDate()); System.out.println("\n\n"); }
/* * Method drawTable() Use for draw table, header, and menu bar articles * parameter is the articles we want to put into the table */ public void drawTable(List<ArticleDTO> articles) { int[] maxColumns = new int[] {14, 24, 34, 25}; // maxColumnsLength(articles); // /* Find maximum // length for every // columns*/ int totalLenght = sumColumnsLength(maxColumns); /* * calculate total * length */ String table = ""; /* Header Block */ header(maxColumns, totalLenght); /* Output header */ // First line of table; table += addHorizontalLine(table, maxColumns, topLeft, middleTop, topRight); // Add Header Title; int index = 0; for (String header : headers) { table += Character.toString(verticalLine); // "?"; // Add spaces; table = addLetter(table, ' ', (maxColumns[index] - header.length()) / 2); // Add header name; table += header; // Add spaces; int totalLength = maxColumns[index] - (maxColumns[index] - header.length()) / 2 - header.length(); table = addLetter(table, ' ', totalLength); // (maxColumns[index] - header.length()) / 2); index++; } table += Character.toString(verticalLine) + "\n"; /* Add vertical line */ /* End of Header Block */ // Body final int PADDING = 2; for (ArticleDTO article : articles) { // Horizontal Line of every records; table += addHorizontalLine(table, maxColumns, middleLeft, middleCenter, middleRight); // Add ID table += Character.toString(verticalLine); table = addLetter(table, ' ', PADDING); // Add padding 1 space; table += article.getId(); // Add ID table = addLetter( table, ' ', maxColumns[0] - Integer.toString(article.getId()).length() - PADDING); // End Add ID; // Add Author table += Character.toString(verticalLine); table = addLetter(table, ' ', PADDING); // Add padding space; if (article.getAuthor().length() > 22) { table += article.getAuthor().substring(0, 17) + "..."; // Add // Author table = addLetter(table, ' ', PADDING); } else { table += article.getAuthor(); // Add Author } table = addLetter(table, ' ', maxColumns[1] - article.getAuthor().length() - PADDING); // End Add Author; // Add Title table += Character.toString(verticalLine); table = addLetter(table, ' ', PADDING); if (article.getTitle().length() > 32) { table += article.getTitle().substring(0, 27) + "..."; table = addLetter(table, ' ', PADDING); } else table += article.getTitle(); table = addLetter(table, ' ', maxColumns[2] - article.getTitle().length() - PADDING); // End Add Title; // Add Publish Date; table += Character.toString(verticalLine); table = addLetter(table, ' ', PADDING); table += article.getPublishDate(); table = addLetter(table, ' ', maxColumns[3] - article.getPublishDate().length() - PADDING); table += Character.toString(verticalLine); table += "\n"; } // End of Body // Footer; table += addHorizontalLine(table, maxColumns, buttomLeft, middleButtom, buttomRight); // End of Footer; System.out.println(table); System.out.println("Total Records:" + totalRecord); /* * Output total * records */ System.out.println("Pages: " + (this.currentPage + 1) + "/" + totalPage); /* * Output * current * page * and * total * pages */ System.out.println(messageTable); messageTable = "Message: "; System.out.println(); // Menu bar; menu(maxColumns, totalLenght); /* Output Menu Bar */ }