Changeset 27908


Ignore:
Timestamp:
2013-07-19T16:48:54+12:00 (11 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 edited

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}
Note: See TracChangeset for help on using the changeset viewer.