Changeset 780:42edd44a9760


Ignore:
Timestamp:
01/17/12 10:35:49 (4 months ago)
Author:
delmitz@delmitz-PC.office.nchovy.net
Branch:
default
Message:

added drop collection routine.
added rollback script.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kraken-confdb/pom.xml

    r760 r780  
    1111        <groupId>org.krakenapps</groupId> 
    1212        <artifactId>kraken-confdb</artifactId> 
    13         <version>0.6.0</version> 
     13        <version>0.6.1</version> 
    1414        <packaging>bundle</packaging> 
    1515        <name>Kraken Config Database</name> 
  • kraken-confdb/src/main/java/org/krakenapps/confdb/file/FileConfigDatabase.java

    r761 r780  
    289289        @Override 
    290290        public void dropCollection(String name) { 
    291                 try { 
    292                         lock(); 
    293                 } finally { 
    294                         unlock(); 
     291                ConfigTransaction xact = beginTransaction(); 
     292                try { 
     293                        xact.getManifest(); 
     294                        xact.log(CommitOp.DropCol, name, 0, 0); 
     295                        xact.commit(null, null); 
     296                } catch (Throwable e) { 
     297                        xact.rollback(); 
     298                        throw new RollbackException(e); 
    295299                } 
    296300        } 
  • kraken-core/pom.xml

    r767 r780  
    99        </parent> 
    1010        <artifactId>kraken-core</artifactId> 
    11         <version>1.13.0</version> 
     11        <version>1.13.1</version> 
    1212        <name>Kraken Core</name> 
    1313        <packaging>jar</packaging> 
     
    4141                        <groupId>org.krakenapps</groupId> 
    4242                        <artifactId>kraken-confdb</artifactId> 
    43                         <version>0.6.0</version> 
     43                        <version>0.6.1</version> 
    4444                </dependency> 
    4545                <dependency> 
  • kraken-core/src/main/java/org/krakenapps/script/ConfScript.java

    r754 r780  
    1515 */ 
    1616package org.krakenapps.script; 
     17 
     18import java.util.List; 
    1719 
    1820import org.krakenapps.api.Primitive; 
     
    8688        } 
    8789 
    88         @ScriptUsage(description = "show revision logs", arguments = { @ScriptArgument(name = "name", type = "string", description = "database name") }) 
     90        @ScriptUsage(description = "show revision logs", arguments = { 
     91                        @ScriptArgument(name = "name", type = "string", description = "database name"), 
     92                        @ScriptArgument(name = "offset", type = "integer", optional = true, description = "log offset"), 
     93                        @ScriptArgument(name = "limit", type = "integer", optional = true, description = "log count limit") }) 
    8994        public void logs(String[] args) { 
    9095                ConfigDatabase db = conf.getDatabase(args[0]); 
     
    9499                } 
    95100 
    96                 for (CommitLog log : db.getCommitLogs()) 
     101                long offset = 0; 
     102                long limit = 10; 
     103 
     104                if (args.length > 1) 
     105                        offset = Long.parseLong(args[1]); 
     106                if (args.length > 2) 
     107                        limit = Long.parseLong(args[2]); 
     108 
     109                List<CommitLog> logs = db.getCommitLogs(offset, limit); 
     110                for (CommitLog log : logs) 
    97111                        context.println(log); 
    98112        } 
     
    141155                } 
    142156        } 
     157 
     158        @ScriptUsage(description = "print documents", arguments = { 
     159                        @ScriptArgument(name = "database name", type = "string", description = "database name"), 
     160                        @ScriptArgument(name = "rollback revision", type = "integer", description = "rollback revision id") }) 
     161        public void rollback(String[] args) { 
     162                ConfigDatabase db = conf.getDatabase(args[0]); 
     163                if (db == null) { 
     164                        context.println("database not found"); 
     165                        return; 
     166                } 
     167 
     168                db.rollback(Integer.parseInt(args[1])); 
     169                context.println("complete"); 
     170        } 
    143171} 
Note: See TracChangeset for help on using the changeset viewer.