Spring 12

・複数削除機能を追加しました。
TodoIDの型をStringに変換するなら、複数の値をもらえるようになりましたが、
削除のメソッドを実行する時にバグになってしまいました。
ですから、新しいColumnを作成しました。
このColumnは何も保存していません。
(DataBaseと同じクラスですから、DataBaseで新しいColumnを作成しなければなりません。)
別のクラスを作成するなら、DataBaseで新しいColumnを作成するのは、
必要がなくなると思います。


複数TodoIDを受けるために、DataBaseで新しいColumnを作成しました。
TodoData.java
    @Column(nullable = true)
    private String multiple;
    public String getMultiple() {
        return multiple;
    }

    public void setMultiple(String multiple) {
        this.multiple = multiple;
    }


メソッドを使えるために、Stringの型からLongの型に変換しました。   
MultipleDelete.java
    public static Long todo_id(TodoData mydata) {
        //get todoID
        String multiple = mydata.getMultiple();
        //convert to String array
        String
array_string = multiple.split(",");
        //convert to long array
        //method needs the long value
        Long array_long = new Long[array_string.length];
        for (int i = 0; i < array_string.length; i++) {
            array_long[i] = Long.valueOf(array_string[i]);
        }
        //return value
        return (Long
) array_long;
    }
  

 
複数削除の実行   
TodoController.java
public ModelAndView removeconfirm(TodoData mydata,ModelAndView mav) {
    LongtodoID = MultipleDelete.todo_id(mydata);
        for(long delete_counter : todoID) {
        repository.deleteById(delete_counter);
    }
}

・日時の型の変換


変換したの日時をHTMLに渡します。
TodoController.java
public ModelAndView index(@ModelAttribute("formModel") TodoData mydata, ModelAndView mav) {
        mav.setViewName("index");
        Iterable<TodoData> list = repository.findAll();
        ArrayList<String> Convert_Date = new ArrayList<>();
        Convert_Date = DateConvert.Date(list,Convert_Date);
        mav.addObject("datalist", list);
        mav.addObject("Date",Convert_Date);
        return mav;
    }


日時の変換です。
DateConvert.java
    public static ArrayList<String> Date(Iterable<TodoData> list,ArrayList<String> Convert_Date) {
        for(TodoData s : list){

            String upload_date = s.getUploadDate();
            upload_date = upload_date.replaceFirst("(?i)(-)", "年");
            upload_date = upload_date.replaceFirst("(?i)(-)", "月");
            upload_date = upload_date.replaceFirst("(?i)( )", "日");
            upload_date = upload_date.substring(0, 16);

            int YEAR = Integer.parseInt(upload_date.substring(0, 4));
            int MONTH = Integer.parseInt(upload_date.substring(5, 7));
            int DATE = Integer.parseInt(upload_date.substring(8, 10));
            MONTH = MONTH - 1;
            DATE = DATE - 1;

            String week = new String[7];
            week[0] = "日";
            week[1] = "月";
            week[2] = "火";
            week[3] = "水";
            week[4] = "木";
            week[5] = "金";
            week[6] = "土";

            Calendar YEAR_MONTH_DATE = Calendar.getInstance();
            YEAR_MONTH_DATE.set(Calendar.YEAR, YEAR);
            YEAR_MONTH_DATE.set(Calendar.MONTH, MONTH);
            YEAR_MONTH_DATE.set(Calendar.DAY_OF_MONTH, DATE);
            int DAY_OF_WEEK = YEAR_MONTH_DATE.get(Calendar.DAY_OF_WEEK);

            upload_date = upload_date.substring(5, 11) + "(" + week[DAY_OF_WEEK] + ")" + upload_date.substring(11, 16);

            Convert_Date.add(upload_date);
        }
        return Convert_Date;
    }