Changeset 27908

Show
Ignore:
Timestamp:
19.07.2013 16:48:54 (6 years ago)
Author:
sjm84
Message:

Added a way to clear the data saved by the depositor

Location:
main/trunk/greenstone3/src/java/org/greenstone/gsdl3
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/DepositorAction.java

    r27899 r27908  
    3737    private final String DE_RETRIEVE_WIZARD = "getwizard"; 
    3838    private final String DE_DEPOSIT_FILE = "depositfile"; 
     39    private final String DE_CLEAR_CACHE = "clearcache"; 
    3940    private final String DE_CLEAR_DATABASE = "cleardatabase"; 
    4041 
     
    353354            } 
    354355        } 
     356        else if (subaction.toLowerCase().equals(DE_CLEAR_CACHE)) 
     357        { 
     358            database.clearUserDataWithPrefix(currentUsername, "DE___"); 
     359        } 
    355360        else if (subaction.toLowerCase().equals(DE_CLEAR_DATABASE)) 
    356361        { 
    357362            database.clearUserData(); 
    358             System.err.println("\n\nCLEARED\n\n"); 
    359363        } 
    360364        else 
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/DerbyWrapper.java

    r27807 r27908  
    688688        } 
    689689    } 
     690 
     691    public void clearUserDataWithPrefix(String username, String prefix) 
     692    { 
     693        try 
     694        { 
     695            conn.setAutoCommit(false); 
     696            state.execute("DELETE FROM data WHERE username = '" + username + "' AND SUBSTR(name, 1, " + prefix.length() + ") = '" + prefix + "'"); 
     697            conn.commit(); 
     698        } 
     699        catch (Exception ex) 
     700        { 
     701            ex.printStackTrace(); 
     702        } 
     703    } 
    690704}