From 84cc8f889b07aa03d2a3bc99752e931f19b5ec63 Mon Sep 17 00:00:00 2001 From: Ugnich Anton Date: Fri, 23 Dec 2011 16:44:25 +0700 Subject: Initial commit --- src/com/juick/Message.java | 162 +++++++++++++++++++++++++++++++++++++++++++++ src/com/juick/Place.java | 37 +++++++++++ src/com/juick/Tag.java | 34 ++++++++++ src/com/juick/User.java | 35 ++++++++++ 4 files changed, 268 insertions(+) create mode 100644 src/com/juick/Message.java create mode 100644 src/com/juick/Place.java create mode 100644 src/com/juick/Tag.java create mode 100644 src/com/juick/User.java (limited to 'src') diff --git a/src/com/juick/Message.java b/src/com/juick/Message.java new file mode 100644 index 00000000..77b87e32 --- /dev/null +++ b/src/com/juick/Message.java @@ -0,0 +1,162 @@ +/* + * Juick + * Copyright (C) 2008-2011, Ugnich Anton + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package com.juick; + +import java.util.Vector; +import java.util.Date; + +/** + * + * @author Ugnich Anton + */ +public class Message { + + public int MID = 0; + public int RID = 0; + public int ReplyTo = 0; + public String Text = null; + public User User = null; + public Vector tags = new Vector(); + public Date Timestamp = null; + public String TimestampString = null; + public int MinutesAgo = 0; + public int Privacy = 1; + public boolean ReadOnly = false; + public int replies = 0; + public String AttachmentType = null; + public String Photo = null; + public String Video = null; + public Place place = null; + public Vector childs = new Vector(); + + public Message() { + } + + public Message(Message msg) { + MID = msg.MID; + RID = msg.RID; + ReplyTo = msg.ReplyTo; + Text = msg.Text; + User = msg.User; + tags = msg.tags; + Timestamp = msg.Timestamp; + TimestampString = msg.TimestampString; + MinutesAgo = msg.MinutesAgo; + Privacy = msg.Privacy; + ReadOnly = msg.ReadOnly; + replies = msg.replies; + AttachmentType = msg.AttachmentType; + Photo = msg.Photo; + Video = msg.Video; + place = msg.place; + childs = msg.childs; + } + + public void parseTags(String strTags) { + String arrTags[] = strTags.split(" "); + for (int i = 0; i < arrTags.length; i++) { + tags.add(arrTags[i]); + } + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof Message)) { + return false; + } + Message jmsg = (Message) obj; + return (this.MID == jmsg.MID && this.RID == jmsg.RID); + } + + public int compareTo(Object obj) throws ClassCastException { + if (!(obj instanceof Message)) { + throw new ClassCastException(); + } + Message jmsg = (Message) obj; + + if (this.MID != jmsg.MID) { + if (this.MID > jmsg.MID) { + return -1; + } else { + return 1; + } + } + + if (this.RID != jmsg.RID) { + if (this.RID < jmsg.RID) { + return -1; + } else { + return 1; + } + } + + return 0; + } + + public int getChildsCount() { + int cnt = 1; + for (int i = 0; i < childs.size(); i++) { + cnt += childs.get(i).getChildsCount(); + } + return cnt; + } + + public void cleanupChilds() { + if (!childs.isEmpty()) { + for (int i = 0; i < childs.size(); i++) { + childs.get(i).cleanupChilds(); + } + childs.removeAllElements(); + } + } + + public String getAttachmentURL() { + if (AttachmentType != null) { + String url = "http://i.juick.com/"; + url += AttachmentType.equals("mp4") ? "video" : "photos-1024"; + url += "/" + MID; + if (RID > 0) { + url += "-" + RID; + } + url += "." + AttachmentType; + return url; + } else { + return null; + } + } + + public String getTagsString() { + String ret = ""; + if (Privacy == -2) { + ret += " *private"; + } + if (Privacy == -1) { + ret += " *friends"; + } + if (Privacy == 2) { + ret += " *public"; + } + if (ReadOnly) { + ret += " *readonly"; + } + for (int i = 0; i < tags.size(); i++) { + ret += " *" + tags.elementAt(i); + } + return ret; + } +} diff --git a/src/com/juick/Place.java b/src/com/juick/Place.java new file mode 100644 index 00000000..70fe66c1 --- /dev/null +++ b/src/com/juick/Place.java @@ -0,0 +1,37 @@ +/* + * Juick + * Copyright (C) 2008-2011, Ugnich Anton + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package com.juick; + +import java.util.Vector; + +/** + * + * @author Ugnich Anton + */ +public class Place { + + public int pid = 0; + public double lat = 0; + public double lon = 0; + public String name = null; + public String description = null; + public int users = 0; + public int messages = 0; + public int distance = 0; + public Vector tags = new Vector(); +} diff --git a/src/com/juick/Tag.java b/src/com/juick/Tag.java new file mode 100644 index 00000000..3e506fc6 --- /dev/null +++ b/src/com/juick/Tag.java @@ -0,0 +1,34 @@ +/* + * Juick + * Copyright (C) 2008-2011, Ugnich Anton + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package com.juick; + +/** + * + * @author Ugnich Anton + */ +public class Tag implements Comparable { + + public String Name = null; + public int TID = 0; + public int UsageCnt = 0; + + @Override + public int compareTo(Tag o) { + return this.Name.compareTo(o.Name); + } +} diff --git a/src/com/juick/User.java b/src/com/juick/User.java new file mode 100644 index 00000000..66192833 --- /dev/null +++ b/src/com/juick/User.java @@ -0,0 +1,35 @@ +/* + * Juick + * Copyright (C) 2008-2011, Ugnich Anton + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package com.juick; + +/** + * + * @author Ugnich Anton + */ +public class User { + + public int UID = 0; + public String UName = null; + public Object Avatar = null; + public String FullName = null; + + @Override + public boolean equals(Object obj) { + return (obj instanceof User && ((User) obj).UID == this.UID); + } +} -- cgit v1.2.3