Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package ca.carleton.gcrc.couch.command;
  
  import java.io.File;
  import java.util.Stack;
  
 
 public class CommandUpdateUser implements Command {
 
 	public String getCommandString() {
 		return "update-user";
 	}
 
 	public boolean matchesKeyword(String keyword) {
 		ifgetCommandString().equalsIgnoreCase(keyword) ) {
 			return true;
 		}
 		return false;
 	}
 
 	public boolean requiresAtlasDir() {
 		return true;
 	}
 
 	public void reportHelp(PrintStream ps) {
 		ps.println("Nunaliit2 Atlas Framework - Update User DB Command");
 		ps.println();
 		ps.println("The 'update user' command updates the users database");
 		ps.println("with information required by the framework. This update");
 		ps.println("is required only once for a CouchDB installation. This");
 		ps.println("command should be run before the first atlas instance is");
 		ps.println("run.");
 		ps.println();
 		ps.println("Command Syntax:");
 		ps.println("  nunaliit [<global-options>] update-user");
 		ps.println();
 		ps.println("Global Options");
 		CommandHelp.reportGlobalSettingAtlasDir(ps);
 	}
 
 	public void runCommand(
 		,Stack<StringargumentStack
 		) throws Exception {
 		
 		File atlasDir = gs.getAtlasDir();
 
 		// Load properties for atlas
 		AtlasProperties atlasProperties = AtlasProperties.fromAtlasDir(atlasDir);
 
 		// Prepare update process
 		DocumentUpdateProcess updateProcess = 
 				createDocumentUpdateProcessForUserDb(gsatlasProperties);
 		
 		// Update site design document
 		try {
 			pushUserDesign(gsatlasDiratlasPropertiesupdateProcess);
 		} catch(Exception e) {
 			throw new Exception("Unable to upload site design document"e);
 		}
 	}
 	
 	private void pushUserDesign(
 		,File atlasDir
 		,AtlasProperties atlasProperties
 		,DocumentUpdateProcess updateProcess
 		) throws Exception {
 		
 		// Create _design/mobile document...
 		Document doc = null;
 		{
 			File userDesignDir = PathComputer.computeUserDesignDir(gs.getInstallDir());
 					
 			FSEntry fileEntry = new FSEntryFile(userDesignDir);
 			doc = DocumentFile.createDocument(fileEntry);
 		}
 
 		// Update document
 		updateProcess.update(doctrue);
 	}
 
			,AtlasProperties atlasProperties
throws Exception {
			// Create couch client
			CouchClient couchClient = null;
			{
				Properties couchClientProps = new Properties();
				couchClientProps.put("couchdb.server"atlasProperties.getCouchDbUrl().toExternalForm());
				couchClientProps.put("couchdb.user"atlasProperties.getCouchDbAdminUser());
				couchClientProps.put("couchdb.password"atlasProperties.getCouchDbAdminPassword());
				CouchFactory couchFactory = new CouchFactory();
				couchClient = couchFactory.getClient(couchClientProps);
			}
			// Get _user database from Couch Client
			CouchDb couchDb = null;
			{
				String dbName = "_users";
				iffalse == couchClient.databaseExists(dbName) ) {
					throw new Exception("Unable to access _users database");
				}
				couchDb = couchClient.getDatabase(dbName);
			}
			DocumentUpdateProcess updateProcess = new DocumentUpdateProcess(couchDb);
			updateProcess.setListener(l);
			return updateProcess;
		}
New to GrepCode? Check out our FAQ X