Changeset 3956
Legend:
- Unmodified
- Added
- Removed
-
trunk/client/servlet/src/org/proteios/action/write/EmptyTrash.java
r3953 r3956 129 129 else 130 130 { 131 emptyTrashCan( );131 emptyTrashCan(totalItemCount); 132 132 } 133 133 } … … 183 183 /** 184 184 * Empty trash can. 185 */ 186 private void emptyTrashCan() 185 * 186 * @param totalItemCount int Total number of items to remove. 187 */ 188 private void emptyTrashCan(int totalItemCount) 189 { 190 int totalDeletedCount = 0; 191 // Repeat emptying trash can as long as items are removed and more items remain 192 int deletedCount = emptyTrashCanAttempt(); 193 // Update total deleted count 194 totalDeletedCount += deletedCount; 195 log.debug("Number of items deleted in trash can emptying attempt = " + deletedCount + " total number deleted = " + totalDeletedCount + " of " + totalItemCount); 196 while (deletedCount > 0 && ((totalItemCount - totalDeletedCount) > 0)) 197 { 198 // Try again to empty trash can 199 deletedCount = emptyTrashCanAttempt(); 200 // Update total deleted count 201 totalDeletedCount += deletedCount; 202 log.debug("Number of items deleted in trash can emptying attempt = " + deletedCount + " total number deleted = " + totalDeletedCount + " of " + totalItemCount); 203 } 204 // Set delete message 205 String deleteMessage = null; 206 if (totalDeletedCount == 1) 207 { 208 deleteMessage = totalDeletedCount + " " + getLocale().get("itemDeleted"); 209 } 210 else 211 { 212 deleteMessage = totalDeletedCount + " " + getLocale().get("itemsDeleted"); 213 } 214 if (getErrorMessage() != null) 215 { 216 deleteMessage = deleteMessage + ". ERROR: " + getErrorMessage(); 217 } 218 log.debug("Message = \"" + deleteMessage + "\""); 219 setMessage(deleteMessage); 220 } 221 222 223 /** 224 * Empty trash can attempt. 225 * 226 * @return int The number of deleted items in this attempt. 227 */ 228 private int emptyTrashCanAttempt() 187 229 { 188 230 setErrorMessage(null); … … 194 236 // Try deleting File items 195 237 deletedCount += deleteItemsOfSpecificClass(File.class); 196 // Try deleting Project items (done before trying to delete project directory)197 deletedCount += deleteItemsOfSpecificClass(Project.class);198 238 // Try deleting Directory items 199 239 deletedCount += deleteItemsOfSpecificClass(Directory.class); 200 // Set delete message 201 String deleteMessage = null; 202 if (deletedCount == 1) 203 { 204 deleteMessage = deletedCount + " " + getLocale().get("itemDeleted"); 205 } 206 else 207 { 208 deleteMessage = deletedCount + " " + getLocale().get("itemsDeleted"); 209 } 210 if (getErrorMessage() != null) 211 { 212 deleteMessage = deleteMessage + ". ERROR: " + getErrorMessage(); 213 } 214 log.debug("Message = \"" + deleteMessage + "\""); 215 setMessage(deleteMessage); 240 // Try deleting Project items 241 deletedCount += deleteItemsOfSpecificClass(Project.class); 242 // Return number of items deleted in this attempt 243 return deletedCount; 216 244 } 217 245 -
trunk/plugin/src/org/proteios/plugins/EmptyTrashPlugin.java
r3953 r3956 136 136 ProgressReporter progress) 137 137 { 138 //139 138 Integer totalItemCountInput = (Integer) job.getValue("totalItemCountInput"); 140 139 log.debug("totalItemCountInput = " + totalItemCountInput); … … 146 145 } 147 146 // 147 int totalDeletedCount = 0; 148 // Repeat emptying trash can as long as items are removed and more items remain 149 int deletedCount = emptyTrashCanAttempt(request, response, progress, totalDeletedCount, totalItemCount); 150 // Update total deleted count 151 totalDeletedCount += deletedCount; 152 log.debug("Number of items deleted in trash can emptying attempt = " + deletedCount + " total number deleted = " + totalDeletedCount + " of " + totalItemCountInput); 153 while (deletedCount > 0 && ((totalItemCountInput - totalDeletedCount) > 0)) 154 { 155 // Try again to empty trash can 156 deletedCount = emptyTrashCanAttempt(request, response, progress, totalDeletedCount, totalItemCount); 157 // Update total deleted count 158 totalDeletedCount += deletedCount; 159 log.debug("Number of items deleted in trash can emptying attempt = " + deletedCount + " total number deleted = " + totalDeletedCount + " of " + totalItemCountInput); 160 } 161 // Set delete message 162 String deleteMessage = null; 163 if (totalDeletedCount == 1) 164 { 165 deleteMessage = totalDeletedCount + " item deleted"; 166 } 167 else 168 { 169 deleteMessage = totalDeletedCount + " items deleted"; 170 } 171 if (getErrorMessage() != null) 172 { 173 deleteMessage = deleteMessage + ". ERROR: " + getErrorMessage(); 174 } 175 log.debug("Message = \"" + deleteMessage + "\""); 176 // Set job response message 177 if (getErrorMessage() == null) 178 { 179 response.setDone(deleteMessage); 180 } 181 else 182 { 183 response.setError(deleteMessage, null); 184 } 185 } 186 187 188 private int emptyTrashCanAttempt(Request request, Response response, 189 ProgressReporter progress, int accDeletedCount, int totalItemCount) 190 { 148 191 setErrorMessage(null); 149 192 int deletedCount = 0; 150 193 // Try deleting Job items 151 deletedCount += deleteItemsOfSpecificClass(Job.class, progress, deletedCount, totalItemCount);194 deletedCount += deleteItemsOfSpecificClass(Job.class, progress, accDeletedCount, totalItemCount); 152 195 // Try deleting SpectrumSearch items 153 deletedCount += deleteItemsOfSpecificClass(SpectrumSearch.class, progress, deletedCount, totalItemCount);196 deletedCount += deleteItemsOfSpecificClass(SpectrumSearch.class, progress, accDeletedCount, totalItemCount); 154 197 // Try deleting File items 155 deletedCount += deleteItemsOfSpecificClass(File.class, progress, deletedCount, totalItemCount); 156 // Try deleting Project items (done before trying to delete project directory) 157 deletedCount += deleteItemsOfSpecificClass(Project.class, progress, deletedCount, totalItemCount); 198 deletedCount += deleteItemsOfSpecificClass(File.class, progress, accDeletedCount, totalItemCount); 158 199 // Try deleting Directory items 159 deletedCount += deleteItemsOfSpecificClass(Directory.class, progress, deletedCount, totalItemCount); 160 // Set delete message 161 String deleteMessage = null; 162 if (deletedCount == 1) 163 { 164 deleteMessage = deletedCount + " item deleted"; 165 } 166 else 167 { 168 deleteMessage = deletedCount + " items deleted"; 169 } 170 if (getErrorMessage() != null) 171 { 172 deleteMessage = deleteMessage + ". ERROR: " + getErrorMessage(); 173 } 174 log.debug("Message = \"" + deleteMessage + "\""); 175 // Set job response message 176 if (getErrorMessage() == null) 177 { 178 response.setDone(deleteMessage); 179 } 180 else 181 { 182 response.setError(deleteMessage, null); 183 } 200 deletedCount += deleteItemsOfSpecificClass(Directory.class, progress, accDeletedCount, totalItemCount); 201 // Try deleting Project items 202 deletedCount += deleteItemsOfSpecificClass(Project.class, progress, accDeletedCount, totalItemCount); 203 // Return number of items deleted in this attempt 204 return deletedCount; 184 205 } 185 206
Note: See TracChangeset
for help on using the changeset viewer.