+++ /dev/null
-/*\r
- * Copyright 2011 gitblit.com.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-package com.gitblit.models;\r
-\r
-import java.io.Serializable;\r
-import java.text.ParseException;\r
-import java.util.ArrayList;\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-/**\r
- * TicketModel is a serializable model class that represents a Ticgit ticket.\r
- * \r
- * @author James Moger\r
- * \r
- */\r
-public class TicketModel implements Serializable, Comparable<TicketModel> {\r
-\r
- private static final long serialVersionUID = 1L;\r
-\r
- public String id;\r
- public String name;\r
- public String title;\r
- public String state;\r
- public Date date;\r
- public String handler;\r
- public String milestone;\r
- public String email;\r
- public String author;\r
- public List<Comment> comments;\r
- public List<String> tags;\r
-\r
- public TicketModel(String ticketName) throws ParseException {\r
- state = "";\r
- name = ticketName;\r
- comments = new ArrayList<Comment>();\r
- tags = new ArrayList<String>();\r
-\r
- String[] chunks = name.split("_");\r
- if (chunks.length == 3) {\r
- date = new Date(Long.parseLong(chunks[0]) * 1000L);\r
- title = chunks[1].replace('-', ' ');\r
- }\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- return id.hashCode();\r
- }\r
-\r
- @Override\r
- public boolean equals(Object o) {\r
- if (o instanceof TicketModel) {\r
- TicketModel other = (TicketModel) o;\r
- return id.equals(other.id);\r
- }\r
- return super.equals(o);\r
- }\r
-\r
- @Override\r
- public int compareTo(TicketModel o) {\r
- return date.compareTo(o.date);\r
- }\r
-\r
- /**\r
- * Comment is a serializable model class that represents a Ticgit ticket\r
- * comment.\r
- * \r
- * @author James Moger\r
- * \r
- */\r
- public static class Comment implements Serializable, Comparable<Comment> {\r
-\r
- private static final long serialVersionUID = 1L;\r
-\r
- public String text;\r
- public String author;\r
- public Date date;\r
-\r
- public Comment(String filename, String content) throws ParseException {\r
- String[] chunks = filename.split("_", -1);\r
- this.date = new Date(Long.parseLong(chunks[1]) * 1000L);\r
- this.author = chunks[2];\r
- this.text = content;\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- return text.hashCode();\r
- }\r
-\r
- @Override\r
- public boolean equals(Object o) {\r
- if (o instanceof Comment) {\r
- Comment other = (Comment) o;\r
- return text.equals(other.text);\r
- }\r
- return super.equals(o);\r
- }\r
-\r
- @Override\r
- public int compareTo(Comment o) {\r
- return date.compareTo(o.date);\r
- }\r
- }\r
-}\r