Changeset 17823
- Timestamp:
- 08/05/08 02:03:18 (3 weeks ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/core/src/net/project/crossspace/ExportedObject.java
r16593 r17823 22 22 import java.util.List; 23 23 24 import org.apache.log4j.Logger; 25 24 26 import net.project.database.DBBean; 25 27 import net.project.database.DatabaseUtils; 26 28 import net.project.persistence.PersistenceException; 29 import net.project.schedule.ScheduleEntry; 30 import net.project.schedule.Task; 27 31 28 32 /** … … 275 279 DBBean db = new DBBean(); 276 280 try { 281 db.setAutoCommit(false); 282 277 283 db.executeQuery( 278 284 "delete from pn_shareable_permissions where object_id in (" + … … 283 289 DatabaseUtils.collectionToCSV(Arrays.asList(idList)) + ")" 284 290 ); 291 String deleteShareSQL = "delete from pn_shared where imported_object_id = ?"; 292 ImportFinder finder = new ImportFinder(); 293 List sharingObjects = finder.findByExportedIDs(db, Arrays.asList(idList)); 294 db.prepareStatement(deleteShareSQL); 295 for (Iterator it = sharingObjects.iterator(); it.hasNext();) { 296 ImportedObject importedObject = (ImportedObject) it.next(); 297 Task task = new Task(); 298 task.setID(importedObject.getImportedObjectID()); 299 task.remove(); 300 //fix for bfd 5670 - remove this from the pn_shared table too 301 //note*: task.remove wont do that because we have not loaded the complete task here, just the reference 302 db.pstmt.setString(1, importedObject.getImportedObjectID()); 303 db.executePrepared(); 304 } 305 306 db.commit(); 285 307 } catch (SQLException sqle) { 308 try { 309 db.rollback(); 310 } catch (SQLException e) { 311 Logger.getLogger(ScheduleEntry.class).debug("Unable to roll back task."); 312 } 286 313 throw new PersistenceException("Unable to remove shares.", sqle); 287 314 } finally {
