View Javadoc
1 //============================================================================== 2 // file : NewsSys.java 3 // project: East Networks News System 4 // 5 // last change: date: $Date: 2003/09/10 09:28:36 $ 6 // by: $Author: bitiboy $ 7 // revision: $Revision: 1.1 $ 8 //------------------------------------------------------------------------------ 9 // copyright: GNU GPL Software License (see class documentation) 10 //============================================================================== 11 package net.eastol.news.jdo.bean; 12 13 14 /* 15 * $Id: NewsSys.java,v 1.1 2003/09/10 09:28:36 bitiboy Exp $ 16 * 17 * Copyright 2003 Acai Software All Rights Reserved. 18 * 19 * This file NewsSys.java is part of the East Networks News System. 20 21 * The East Networks News System is free software; you can redistribute it and/or modify 22 * it under the terms of the GNU General Public License as published by 23 * the Free Software Foundation; either version 2 of the License, or 24 * (at your option) any later version. 25 26 * East Networks News System is distributed in the hope that it will be useful, 27 * but WITHOUT ANY WARRANTY; without even the implied warranty of 28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 29 * GNU General Public License for more details. 30 31 * You should have received a copy of the GNU General Public License 32 * along with the East Networks News System; if not, write to the Free Software 33 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 34 35 * http://www.justhis.com http://ejb.cn 36 * CONTACT: email = webmaster@justhis.com superaxis@sohu.com 37 */ 38 import com.justhis.util.Base64Utils; 39 import com.justhis.util.exception.UtilException; 40 41 import java.util.ArrayList; 42 import java.util.Date; 43 44 import javax.jdo.Extent; 45 import javax.jdo.JDOHelper; 46 import javax.jdo.PersistenceManager; 47 48 49 /*** 50 * TODO DOCUMENT ME! 51 * 52 * @author <a href="http://blog.ejb.cn">acai</a> 53 * @version $Revision $ 54 */ 55 public class NewsSys implements JDOConst { 56 //~ Instance fields -------------------------------------------------------- 57 58 /*** TODO */ 59 public ArrayList classList; 60 61 /*** TODO */ 62 public Date createdDate; 63 64 //~ Constructors ----------------------------------------------------------- 65 66 /*** 67 * Creates a new NewsSys object. 68 */ 69 public NewsSys() { 70 super(); 71 72 73 } 74 75 //~ Methods ---------------------------------------------------------------- 76 77 /*** 78 * TODO 79 * 80 * @return TODO 81 */ 82 public ArrayList getClassList() { 83 return this.classList; 84 } 85 86 /*** 87 * @see net.eastol.news.jdo.bean.JDOConst#getObjectId() 88 */ 89 public String getObjectId() throws UtilException { 90 Object oid = JDOHelper.getObjectId(this); 91 char[] m = null; 92 93 m = Base64Utils.encode(oid); 94 95 String oidStr = new String(m); 96 97 return oidStr; 98 } 99 100 /*** 101 * TODO 102 * 103 * @param nc TODO 104 */ 105 public void addClass(NewsClass nc) { 106 classList.add(nc); 107 } 108 109 /*** 110 * @see net.eastol.news.jdo.bean.JDOConst#delete() 111 */ 112 public void delete() { 113 JDOHelper.getPersistenceManager(this).deletePersistent(this); 114 } 115 116 /*** 117 * @param nc 118 */ 119 public void deleteClass(NewsClass nc) throws UtilException { 120 deleteClass(classList, nc); 121 } 122 123 /*** 124 * TODO 125 * 126 * @return TODO 127 */ 128 public NewsSys init() { 129 classList = new ArrayList(); 130 createdDate = new Date(); 131 132 return this; 133 } 134 135 /*** 136 * TODO 137 * 138 * @param pm TODO 139 * 140 * @return TODO 141 * 142 * @throws UtilException TODO 143 */ 144 public static String initSystem(PersistenceManager pm) 145 throws UtilException { 146 String oid = ""; 147 148 pm.currentTransaction().begin(); 149 150 Extent ext = pm.getExtent(NewsSys.class, false); 151 boolean created = false; 152 created = (ext.iterator()).hasNext(); 153 154 if (created) { 155 oid = ((JDOConst) ext.iterator().next()).getObjectId(); 156 } 157 158 ext.closeAll(); 159 160 if (created) { 161 pm.currentTransaction().rollback(); 162 } else { 163 NewsSys ns = new NewsSys(); 164 ns.init(); 165 pm.makePersistent(ns); 166 pm.currentTransaction().commit(); 167 oid = ns.getObjectId(); 168 } 169 170 return oid; 171 } 172 173 /*** 174 * TODO 175 * 176 * @param childList TODO 177 * @param child TODO 178 */ 179 private void deleteClass(ArrayList childList, NewsClass child) { 180 if (childList.size() == 0) { 181 return; 182 } else { 183 if (childList.remove(child)) { 184 child.delete(); 185 186 return; 187 } else { 188 for (int i = 0; i < childList.size(); i++) { 189 deleteClass(((NewsClass) childList.get(i)).getChildList(), 190 child 191 ); 192 } 193 } 194 } 195 } 196 } 197 198 199 /* 200 * $Log: NewsSys.java,v $ 201 * Revision 1.1 2003/09/10 09:28:36 bitiboy 202 * *** empty log message *** 203 * 204 * 205 */

This page was automatically generated by Maven