Changeset 4412
Legend:
- Unmodified
- Added
- Removed
-
trunk/client/servlet/src/org/proteios/action/write/EmptyTrash.java
r3956 r4412 27 27 */ 28 28 package org.proteios.action.write; 29 30 import java.util.ArrayList; 31 import java.util.List; 29 32 30 33 import org.proteios.action.ProteiosAction; … … 270 273 * @return int The number of items of a specific class in the trash can. 271 274 */ 272 private <D extends BasicItem > int getNumberOfTrashItems(DbControl dc, Class<D> itemClass)275 private <D extends BasicItem<?>> int getNumberOfTrashItems(DbControl dc, Class<D> itemClass) 273 276 { 274 277 // Count items to be removed … … 288 291 * @return int The number of deleted items. 289 292 */ 290 private int deleteItemsOfSpecificClass(Class<? extends BasicItem > itemClass)293 private int deleteItemsOfSpecificClass(Class<? extends BasicItem<?>> itemClass) 291 294 { 292 295 log.debug("itemClass = " + itemClass); … … 311 314 filter(query); 312 315 dc = newDbControl(); 313 ItemResultList<?> itemList = query.list(dc); 314 if (itemList != null) 315 { 316 log.debug(itemTypeCap + " itemList.size() = " + itemList.size()); 316 ItemResultList<?> itemResultList = query.list(dc); 317 List<BasicItem<?>> itemList = new ArrayList<BasicItem<?>>(); 318 if (itemResultList != null) 319 { 320 log.debug(itemTypeCap + " itemResultList.size() = " + itemResultList.size()); 321 // Copy items from database to List<BasicItem<?>> list 322 for (int i=0; i < itemResultList.size(); i++) 323 { 324 BasicItem<?> item = itemResultList.get(i); 325 if (item != null) 326 { 327 itemList.add(item); 328 } 329 } 317 330 } 318 331 else 319 332 { 320 log.debug(itemTypeCap + " itemList = null"); 333 log.debug(itemTypeCap + " itemResultList = null"); 334 } 335 dc.close(); 336 for (int i=0; i < itemList.size(); i++) 337 { 338 if (itemList.get(i) != null) 339 { 340 //log.debug(itemTypeCap + "itemList.get(" + i + ").getClass().getSimpleName() = " + itemList.get(i).getClass().getSimpleName()); 341 int itemId = itemList.get(i).getId(); 342 String itemName = new String("unknown"); 343 if (Nameable.class.isAssignableFrom(itemList.get(i).getClass())) 344 { 345 Nameable nameable = (Nameable) itemList.get(i); 346 itemName = nameable.getName(); 347 } 348 else 349 { 350 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i)); 351 } 352 log.debug("Trying to delete " + itemTypeNonCap + " '" + itemName + "' id = " + itemList.get(i).getId()); 353 try 354 { 355 dc2 = newDbControl(); 356 ItemFactory itemFactory = new ItemFactory(dc2); 357 log.debug("Trying to get item " + i + " with id = " + itemId); 358 BasicItem<?> item = itemFactory.getById(itemClass, itemId); 359 log.debug("Trying to delete item " + i + ": item = " + item); 360 dc2.deleteItem(item); 361 log.debug("Commiting deletion of item " + i + ": item = " + item); 362 dc2.commit(); 363 } 364 catch (Exception e) 365 { 366 log.debug("Exception when trying to delete " + itemTypeNonCap + " '" + itemName + " id = " + itemId + "' : " + e); 367 String errorMsg = itemTypeCap + " '" + itemName + "' id = " + itemId + " : " + e; 368 setErrorMessage(errorMsg); 369 } 370 dc2.close(); 371 } 372 } 373 // Check if some items could not be deleted 374 dc = newDbControl(); 375 ItemResultList<?> itemListFinal = query.list(dc); 376 if (itemListFinal != null) 377 { 378 log.debug(itemTypeCap + " itemListFinal.size() = " + itemListFinal.size()); 379 } 380 else 381 { 382 log.debug(itemTypeCap + " itemListFinal = null"); 321 383 } 322 384 for (int i=0; i < itemList.size(); i++) … … 335 397 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i)); 336 398 } 337 log.debug("Trying to delete " + itemTypeNonCap + " '" + itemName + "' id = " + itemList.get(i).getId());338 try339 {340 itemList.get(i).getDbControl().detachItem(itemList.get(i));341 dc2 = newDbControl();342 dc2.reattachItem(itemList.get(i));343 dc2.deleteItem(itemList.get(i));344 dc2.commit();345 }346 catch (Exception e)347 {348 log.debug("Exception when trying to delete " + itemTypeNonCap + " '" + itemName + " id = " + itemList.get(i).getId() + "' : " + e);349 String errorMsg = itemTypeCap + " '" + itemName + "' id = " + itemList.get(i).getId() + " : " + e;350 setErrorMessage(errorMsg);351 }352 dc2.close();353 }354 }355 // Check if some items could not be deleted356 ItemResultList<?> itemListFinal = query.list(dc);357 if (itemListFinal != null)358 {359 log.debug(itemTypeCap + " itemListFinal.size() = " + itemListFinal.size());360 }361 else362 {363 log.debug(itemTypeCap + " itemListFinal = null");364 }365 for (int i=0; i < itemList.size(); i++)366 {367 if (itemList.get(i) != null)368 {369 //log.debug(itemTypeCap + "itemList.get(" + i + ").getClass().getSimpleName() = " + itemList.get(i).getClass().getSimpleName());370 String itemName = new String("unknown");371 if (Nameable.class.isAssignableFrom(itemList.get(i).getClass()))372 {373 Nameable nameable = (Nameable) itemList.get(i);374 itemName = nameable.getName();375 }376 else377 {378 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i));379 }380 399 if (!itemListFinal.contains(itemList.get(i))) 381 400 { -
trunk/plugin/src/org/proteios/plugins/EmptyTrashPlugin.java
r3956 r4412 28 28 package org.proteios.plugins; 29 29 30 import java.util.ArrayList; 31 import java.util.List; 32 30 33 import org.proteios.core.BaseException; 31 34 import org.proteios.core.BasicItem; … … 34 37 import org.proteios.core.File; 35 38 import org.proteios.core.Include; 39 import org.proteios.core.ItemFactory; 36 40 import org.proteios.core.ItemQuery; 37 41 import org.proteios.core.ItemResultList; … … 231 235 * @return int The number of items of a specific class in the trash can. 232 236 */ 233 private <D extends BasicItem > int getNumberOfTrashItems(DbControl dc, Class<D> itemClass)237 private <D extends BasicItem<?>> int getNumberOfTrashItems(DbControl dc, Class<D> itemClass) 234 238 { 235 239 // Count items to be removed … … 252 256 * @return int The number of deleted items. 253 257 */ 254 private int deleteItemsOfSpecificClass(Class<? extends BasicItem > itemClass, ProgressReporter progress, int startCount, int totalCount)258 private int deleteItemsOfSpecificClass(Class<? extends BasicItem<?>> itemClass, ProgressReporter progress, int startCount, int totalCount) 255 259 { 256 260 log.debug("itemClass = " + itemClass); … … 276 280 filter(query); 277 281 dc = sc.newDbControl(); 278 ItemResultList<?> itemList = query.list(dc); 279 if (itemList != null) 280 { 281 log.debug(itemTypeCap + " itemList.size() = " + itemList.size()); 282 ItemResultList<?> itemResultList = query.list(dc); 283 List<BasicItem<?>> itemList = new ArrayList<BasicItem<?>>(); 284 if (itemResultList != null) 285 { 286 log.debug(itemTypeCap + " itemResultList.size() = " + itemResultList.size()); 287 // Copy items from database to List<BasicItem<?>> list 288 for (int i=0; i < itemResultList.size(); i++) 289 { 290 BasicItem<?> item = itemResultList.get(i); 291 if (item != null) 292 { 293 itemList.add(item); 294 } 295 } 282 296 } 283 297 else 284 298 { 285 log.debug(itemTypeCap + " itemList = null"); 299 log.debug(itemTypeCap + " itemResultList = null"); 300 } 301 dc.close(); 302 for (int i=0; i < itemList.size(); i++) 303 { 304 if (itemList.get(i) != null) 305 { 306 //log.debug(itemTypeCap + "itemList.get(" + i + ").getClass().getSimpleName() = " + itemList.get(i).getClass().getSimpleName()); 307 int itemId = itemList.get(i).getId(); 308 String itemName = new String("unknown"); 309 if (Nameable.class.isAssignableFrom(itemList.get(i).getClass())) 310 { 311 Nameable nameable = (Nameable) itemList.get(i); 312 itemName = nameable.getName(); 313 } 314 else 315 { 316 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i)); 317 } 318 log.debug("Trying to delete " + itemTypeNonCap + " '" + itemName + "' id = " + itemList.get(i).getId()); 319 try 320 { 321 dc2 = sc.newDbControl(); 322 ItemFactory itemFactory = new ItemFactory(dc2); 323 log.debug("Trying to get item " + i + " with id = " + itemId); 324 BasicItem<?> item = itemFactory.getById(itemClass, itemId); 325 log.debug("Trying to delete item " + i + ": item = " + item); 326 dc2.deleteItem(item); 327 log.debug("Commiting deletion of item " + i + ": item = " + item); 328 dc2.commit(); 329 } 330 catch (Exception e) 331 { 332 log.debug("Exception when trying to delete " + itemTypeNonCap + " '" + itemName + " id = " + itemId + "' : " + e); 333 String errorMsg = itemTypeCap + " '" + itemName + "' id = " + itemId + " : " + e; 334 setErrorMessage(errorMsg); 335 } 336 dc2.close(); 337 } 338 // Report progress 339 if (progress != null && totalCount > 0) 340 { 341 int percentComplete = 100 * (startCount + i + 1)/totalCount; 342 String progressMessage = new String("Item " + (startCount + i + 1) + " of " + totalCount); 343 progress.display(percentComplete, progressMessage); 344 log.debug("percentComplete = " + percentComplete + " progressMessage = \"" + progressMessage + "\""); 345 } 346 } 347 // Check if some items could not be deleted 348 dc = sc.newDbControl(); 349 ItemResultList<?> itemListFinal = query.list(dc); 350 if (itemListFinal != null) 351 { 352 log.debug(itemTypeCap + " itemListFinal.size() = " + itemListFinal.size()); 353 } 354 else 355 { 356 log.debug(itemTypeCap + " itemListFinal = null"); 286 357 } 287 358 for (int i=0; i < itemList.size(); i++) … … 300 371 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i)); 301 372 } 302 log.debug("Trying to delete " + itemTypeNonCap + " '" + itemName + "' id = " + itemList.get(i).getId());303 try304 {305 itemList.get(i).getDbControl().detachItem(itemList.get(i));306 dc2 = sc.newDbControl();307 dc2.reattachItem(itemList.get(i));308 dc2.deleteItem(itemList.get(i));309 dc2.commit();310 }311 catch (Exception e)312 {313 log.debug("Exception when trying to delete " + itemTypeNonCap + " '" + itemName + " id = " + itemList.get(i).getId() + "' : " + e);314 String errorMsg = itemTypeCap + " '" + itemName + "' id = " + itemList.get(i).getId() + " : " + e;315 setErrorMessage(errorMsg);316 }317 dc2.close();318 }319 // Report progress320 if (progress != null && totalCount > 0)321 {322 int percentComplete = 100 * (startCount + i + 1)/totalCount;323 String progressMessage = new String("Item " + (startCount + i + 1) + " of " + totalCount);324 progress.display(percentComplete, progressMessage);325 log.debug("precentComplete = " + percentComplete + " progressMessage = \"" + progressMessage + "\"");326 }327 }328 // Check if some items could not be deleted329 ItemResultList<?> itemListFinal = query.list(dc);330 if (itemListFinal != null)331 {332 log.debug(itemTypeCap + " itemListFinal.size() = " + itemListFinal.size());333 }334 else335 {336 log.debug(itemTypeCap + " itemListFinal = null");337 }338 for (int i=0; i < itemList.size(); i++)339 {340 if (itemList.get(i) != null)341 {342 //log.debug(itemTypeCap + "itemList.get(" + i + ").getClass().getSimpleName() = " + itemList.get(i).getClass().getSimpleName());343 String itemName = new String("unknown");344 if (Nameable.class.isAssignableFrom(itemList.get(i).getClass()))345 {346 Nameable nameable = (Nameable) itemList.get(i);347 itemName = nameable.getName();348 }349 else350 {351 log.debug("Nameable.class is not assignable from itemList.get(" + i + ") = " + itemList.get(i));352 }353 373 if (!itemListFinal.contains(itemList.get(i))) 354 374 {
Note: See TracChangeset
for help on using the changeset viewer.