You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by nd...@apache.org on 2015/05/01 23:32:59 UTC

[12/57] [partial] airavata-php-gateway git commit: AIRAVATA 1632 + Job Description for Admin Dashboard

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php
new file mode 100644
index 0000000..764b5fd
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php
@@ -0,0 +1,163 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Console\Command;
+use Illuminate\Foundation\Composer;
+use Illuminate\View\Engines\CompilerEngine;
+use ClassPreloader\Command\PreCompileCommand;
+use Symfony\Component\Console\Input\InputOption;
+
+class OptimizeCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'optimize';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Optimize the framework for better performance";
+
+	/**
+	 * The composer instance.
+	 *
+	 * @var \Illuminate\Foundation\Composer
+	 */
+	protected $composer;
+
+	/**
+	 * Create a new optimize command instance.
+	 *
+	 * @param  \Illuminate\Foundation\Composer  $composer
+	 * @return void
+	 */
+	public function __construct(Composer $composer)
+	{
+		parent::__construct();
+
+		$this->composer = $composer;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->info('Generating optimized class loader');
+
+		if ($this->option('psr'))
+		{
+			$this->composer->dumpAutoloads();
+		}
+		else
+		{
+			$this->composer->dumpOptimized();
+		}
+
+		if ($this->option('force') || ! $this->laravel['config']['app.debug'])
+		{
+			$this->info('Compiling common classes');
+
+			$this->compileClasses();
+
+			$this->info('Compiling views');
+
+			$this->compileViews();
+		}
+		else
+		{
+			$this->call('clear-compiled');
+		}
+	}
+
+	/**
+	 * Generate the compiled class file.
+	 *
+	 * @return void
+	 */
+	protected function compileClasses()
+	{
+		$this->registerClassPreloaderCommand();
+
+		$outputPath = $this->laravel['path.base'].'/bootstrap/compiled.php';
+
+		$this->callSilent('compile', array(
+			'--config' => implode(',', $this->getClassFiles()),
+			'--output' => $outputPath,
+			'--strip_comments' => 1,
+		));
+	}
+
+	/**
+	 * Get the classes that should be combined and compiled.
+	 *
+	 * @return array
+	 */
+	protected function getClassFiles()
+	{
+		$app = $this->laravel;
+
+		$core = require __DIR__.'/Optimize/config.php';
+
+		return array_merge($core, $this->laravel['config']['compile']);
+	}
+
+	/**
+	 * Register the pre-compiler command instance with Artisan.
+	 *
+	 * @return void
+	 */
+	protected function registerClassPreloaderCommand()
+	{
+		$this->getApplication()->add(new PreCompileCommand);
+	}
+
+	/**
+	 * Compile all view files.
+	 *
+	 * @return void
+	 */
+	protected function compileViews()
+	{
+		foreach ($this->laravel['view']->getFinder()->getPaths() as $path)
+		{
+			foreach ($this->laravel['files']->allFiles($path) as $file)
+			{
+				try
+				{
+					$engine = $this->laravel['view']->getEngineFromPath($file);
+				}
+				catch (\InvalidArgumentException $e)
+				{
+					continue;
+				}
+
+				if ($engine instanceof CompilerEngine)
+				{
+					$engine->getCompiler()->compile($file);
+				}
+			}
+		}
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('force', null, InputOption::VALUE_NONE, 'Force the compiled class file to be written.'),
+
+			array('psr', null, InputOption::VALUE_NONE, 'Do not optimize Composer dump-autoload.'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/RoutesCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/RoutesCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/RoutesCommand.php
new file mode 100755
index 0000000..cfcb0d6
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/RoutesCommand.php
@@ -0,0 +1,217 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Http\Request;
+use Illuminate\Routing\Route;
+use Illuminate\Routing\Router;
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+
+class RoutesCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'routes';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'List all registered routes';
+
+	/**
+	 * The router instance.
+	 *
+	 * @var \Illuminate\Routing\Router
+	 */
+	protected $router;
+
+	/**
+	 * An array of all the registered routes.
+	 *
+	 * @var \Illuminate\Routing\RouteCollection
+	 */
+	protected $routes;
+
+	/**
+	 * The table headers for the command.
+	 *
+	 * @var array
+	 */
+	protected $headers = array(
+		'Domain', 'URI', 'Name', 'Action', 'Before Filters', 'After Filters'
+	);
+
+	/**
+	 * Create a new route command instance.
+	 *
+	 * @param  \Illuminate\Routing\Router  $router
+	 * @return void
+	 */
+	public function __construct(Router $router)
+	{
+		parent::__construct();
+
+		$this->router = $router;
+		$this->routes = $router->getRoutes();
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		if (count($this->routes) == 0)
+		{
+			return $this->error("Your application doesn't have any routes.");
+		}
+
+		$this->displayRoutes($this->getRoutes());
+	}
+
+	/**
+	 * Compile the routes into a displayable format.
+	 *
+	 * @return array
+	 */
+	protected function getRoutes()
+	{
+		$results = array();
+
+		foreach ($this->routes as $route)
+		{
+			$results[] = $this->getRouteInformation($route);
+		}
+
+		return array_filter($results);
+	}
+
+	/**
+	 * Get the route information for a given route.
+	 *
+	 * @param  \Illuminate\Routing\Route  $route
+	 * @return array
+	 */
+	protected function getRouteInformation(Route $route)
+	{
+		$uri = implode('|', $route->methods()).' '.$route->uri();
+
+		return $this->filterRoute(array(
+			'host'   => $route->domain(),
+			'uri'    => $uri,
+			'name'   => $route->getName(),
+			'action' => $route->getActionName(),
+			'before' => $this->getBeforeFilters($route),
+			'after'  => $this->getAfterFilters($route)
+		));
+	}
+
+	/**
+	 * Display the route information on the console.
+	 *
+	 * @param  array  $routes
+	 * @return void
+	 */
+	protected function displayRoutes(array $routes)
+	{
+		$this->table($this->headers, $routes);
+	}
+
+	/**
+	 * Get before filters
+	 *
+	 * @param  \Illuminate\Routing\Route  $route
+	 * @return string
+	 */
+	protected function getBeforeFilters($route)
+	{
+		$before = array_keys($route->beforeFilters());
+
+		$before = array_unique(array_merge($before, $this->getPatternFilters($route)));
+
+		return implode(', ', $before);
+	}
+
+	/**
+	 * Get all of the pattern filters matching the route.
+	 *
+	 * @param  \Illuminate\Routing\Route  $route
+	 * @return array
+	 */
+	protected function getPatternFilters($route)
+	{
+		$patterns = array();
+
+		foreach ($route->methods() as $method)
+		{
+			// For each method supported by the route we will need to gather up the patterned
+			// filters for that method. We will then merge these in with the other filters
+			// we have already gathered up then return them back out to these consumers.
+			$inner = $this->getMethodPatterns($route->uri(), $method);
+
+			$patterns = array_merge($patterns, array_keys($inner));
+		}
+
+		return $patterns;
+	}
+
+	/**
+	 * Get the pattern filters for a given URI and method.
+	 *
+	 * @param  string  $uri
+	 * @param  string  $method
+	 * @return array
+	 */
+	protected function getMethodPatterns($uri, $method)
+	{
+		return $this->router->findPatternFilters(Request::create($uri, $method));
+	}
+
+	/**
+	 * Get after filters
+	 *
+	 * @param  \Illuminate\Routing\Route  $route
+	 * @return string
+	 */
+	protected function getAfterFilters($route)
+	{
+		return implode(', ', array_keys($route->afterFilters()));
+	}
+
+	/**
+	 * Filter the route by URI and / or name.
+	 *
+	 * @param  array  $route
+	 * @return array|null
+	 */
+	protected function filterRoute(array $route)
+	{
+		if (($this->option('name') && ! str_contains($route['name'], $this->option('name'))) ||
+			 $this->option('path') && ! str_contains($route['uri'], $this->option('path')))
+		{
+			return null;
+		}
+
+		return $route;
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('name', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by name.'),
+
+			array('path', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by path.'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
new file mode 100755
index 0000000..998105f
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
@@ -0,0 +1,73 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+
+class ServeCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'serve';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Serve the application on the PHP development server";
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->checkPhpVersion();
+
+		chdir($this->laravel['path.base']);
+
+		$host = $this->input->getOption('host');
+
+		$port = $this->input->getOption('port');
+
+		$public = $this->laravel['path.public'];
+
+		$this->info("Laravel development server started on http://{$host}:{$port}");
+
+		passthru('"'.PHP_BINARY.'"'." -S {$host}:{$port} -t \"{$public}\" server.php");
+	}
+
+	/**
+	 * Check the current PHP version is >= 5.4.
+	 *
+	 * @return void
+	 *
+	 * @throws \Exception
+	 */
+	protected function checkPhpVersion()
+	{
+		if (version_compare(PHP_VERSION, '5.4.0', '<'))
+		{
+			throw new \Exception('This PHP binary is not version 5.4 or greater.');
+		}
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('host', null, InputOption::VALUE_OPTIONAL, 'The host address to serve the application on.', 'localhost'),
+
+			array('port', null, InputOption::VALUE_OPTIONAL, 'The port to serve the application on.', 8000),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/TailCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/TailCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/TailCommand.php
new file mode 100644
index 0000000..031cd29
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/TailCommand.php
@@ -0,0 +1,165 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Console\Command;
+use Symfony\Component\Process\Process;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class TailCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'tail';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Tail a log file on a remote server";
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$path = $this->getPath($this->argument('connection'));
+
+		if ($path)
+		{
+			$this->tailLogFile($path, $this->argument('connection'));
+		}
+		else
+		{
+			$this->error('Could not determine path to log file.');
+		}
+	}
+
+	/**
+	 * Tail the given log file for the connection.
+	 *
+	 * @param  string  $path
+	 * @param  string  $connection
+	 * @return void
+	 */
+	protected function tailLogFile($path, $connection)
+	{
+		if (is_null($connection))
+		{
+			$this->tailLocalLogs($path);
+		}
+		else
+		{
+			$this->tailRemoteLogs($path, $connection);
+		}
+	}
+
+	/**
+	 * Tail a local log file for the application.
+	 *
+	 * @param  string  $path
+	 * @return string
+	 */
+	protected function tailLocalLogs($path)
+	{
+		$output = $this->output;
+
+		$lines = $this->option('lines');
+
+		(new Process('tail -f -n '.$lines.' '.escapeshellarg($path)))->setTimeout(null)->run(function($type, $line) use ($output)
+		{
+			$output->write($line);
+		});
+	}
+
+	/**
+	 * Tail a remote log file at the given path and connection.
+	 *
+	 * @param  string  $path
+	 * @param  string  $connection
+	 * @return void
+	 */
+	protected function tailRemoteLogs($path, $connection)
+	{
+		$out = $this->output;
+
+		$lines = $this->option('lines');
+
+		$this->getRemote($connection)->run('tail -f -n '.$lines.' '.escapeshellarg($path), function($line) use ($out)
+		{
+			$out->write($line);
+		});
+	}
+
+	/**
+	 * Get a connection to the remote server.
+	 *
+	 * @param  string  $connection
+	 * @return \Illuminate\Remote\Connection
+	 */
+	protected function getRemote($connection)
+	{
+		return $this->laravel['remote']->connection($connection);
+	}
+
+	/**
+	 * Get the path to the Laravel log file.
+	 *
+	 * @param  string  $connection
+	 * @return string
+	 */
+	protected function getPath($connection)
+	{
+		if ($this->option('path')) return $this->option('path');
+
+		if (is_null($connection))
+		{
+			return storage_path('/logs/laravel.log');
+		}
+
+		return $this->getRoot($connection).str_replace(base_path(), '', storage_path()).'/logs/laravel.log';
+	}
+
+	/**
+	 * Get the path to the Laravel install root.
+	 *
+	 * @param  string  $connection
+	 * @return string
+	 */
+	protected function getRoot($connection)
+	{
+		return $this->laravel['config']['remote.connections.'.$connection.'.root'];
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('connection', InputArgument::OPTIONAL, 'The remote connection name'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('path', null, InputOption::VALUE_OPTIONAL, 'The fully qualified path to the log file.'),
+
+			array('lines', null, InputOption::VALUE_OPTIONAL, 'The number of lines to tail.', 20),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/TinkerCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/TinkerCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/TinkerCommand.php
new file mode 100755
index 0000000..58d4014
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/TinkerCommand.php
@@ -0,0 +1,125 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Boris\Boris;
+use Illuminate\Console\Command;
+
+class TinkerCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'tinker';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Interact with your application";
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		if ($this->supportsBoris())
+		{
+			$this->runBorisShell();
+		}
+		else
+		{
+			$this->comment('Full REPL not supported. Falling back to simple shell.');
+
+			$this->runPlainShell();
+		}
+	}
+
+	/**
+	 * Run the Boris REPL with the current context.
+	 *
+	 * @return void
+	 */
+	protected function runBorisShell()
+	{
+		$this->setupBorisErrorHandling();
+
+		(new Boris('> '))->start();
+	}
+
+	/**
+	 * Setup the Boris exception handling.
+	 *
+	 * @return void
+	 */
+	protected function setupBorisErrorHandling()
+	{
+		restore_error_handler(); restore_exception_handler();
+
+		$this->laravel->make('artisan')->setCatchExceptions(false);
+
+		$this->laravel->error(function() { return ''; });
+	}
+
+	/**
+	 * Run the plain Artisan tinker shell.
+	 *
+	 * @return void
+	 */
+	protected function runPlainShell()
+	{
+		$input = $this->prompt();
+
+		while ($input != 'quit')
+		{
+			// We will wrap the execution of the command in a try / catch block so we
+			// can easily display the errors in a convenient way instead of having
+			// them bubble back out to the CLI and stop the entire command loop.
+			try
+			{
+				if (starts_with($input, 'dump '))
+				{
+					$input = 'var_dump('.substr($input, 5).');';
+				}
+
+				eval($input);
+			}
+
+			// If an exception occurs, we will just display the message and keep this
+			// loop going so we can keep executing commands. However, when a fatal
+			// error occurs, we have no choice but to bail out of this routines.
+			catch (\Exception $e)
+			{
+				$this->error($e->getMessage());
+			}
+
+			$input = $this->prompt();
+		}
+	}
+
+	/**
+	 * Prompt the developer for a command.
+	 *
+	 * @return string
+	 */
+	protected function prompt()
+	{
+		$dialog = $this->getHelperSet()->get('dialog');
+
+		return $dialog->ask($this->output, "<info>></info>", null);
+	}
+
+	/**
+	 * Determine if the current environment supports Boris.
+	 *
+	 * @return bool
+	 */
+	protected function supportsBoris()
+	{
+		return extension_loaded('readline') && extension_loaded('posix') && extension_loaded('pcntl');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php
new file mode 100755
index 0000000..dd84552
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php
@@ -0,0 +1,33 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Console\Command;
+
+class UpCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'up';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Bring the application out of maintenance mode";
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		@unlink($this->laravel['config']['app.manifest'].'/down');
+
+		$this->info('Application is now live.');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewPublishCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewPublishCommand.php b/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewPublishCommand.php
new file mode 100755
index 0000000..4353619
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewPublishCommand.php
@@ -0,0 +1,104 @@
+<?php namespace Illuminate\Foundation\Console;
+
+use Illuminate\Console\Command;
+use Illuminate\Foundation\ViewPublisher;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class ViewPublishCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'view:publish';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Publish a package's views to the application";
+
+	/**
+	 * The view publisher instance.
+	 *
+	 * @var \Illuminate\Foundation\ViewPublisher
+	 */
+	protected $view;
+
+	/**
+	 * Create a new view publish command instance.
+	 *
+	 * @param  \Illuminate\Foundation\ViewPublisher  $view
+	 * @return void
+	 */
+	public function __construct(ViewPublisher $view)
+	{
+		parent::__construct();
+
+		$this->view = $view;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$package = $this->input->getArgument('package');
+
+		if ( ! is_null($path = $this->getPath()))
+		{
+			$this->view->publish($package, $path);
+		}
+		else
+		{
+			$this->view->publishPackage($package);
+		}
+
+		$this->output->writeln('<info>Views published for package:</info> '.$package);
+	}
+
+	/**
+	 * Get the specified path to the files.
+	 *
+	 * @return string
+	 */
+	protected function getPath()
+	{
+		$path = $this->input->getOption('path');
+
+		if ( ! is_null($path))
+		{
+			return $this->laravel['path.base'].'/'.$path;
+		}
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('package', InputArgument::REQUIRED, 'The name of the package being published.'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('path', null, InputOption::VALUE_OPTIONAL, 'The path to the source view files.', null),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/command.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/command.stub b/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/command.stub
new file mode 100755
index 0000000..d48e675
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/command.stub
@@ -0,0 +1,67 @@
+<?php{{namespace}}
+
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class {{class}} extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'command:name';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Command description.';
+
+	/**
+	 * Create a new command instance.
+	 *
+	 * @return void
+	 */
+	public function __construct()
+	{
+		parent::__construct();
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return mixed
+	 */
+	public function fire()
+	{
+		//
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('example', InputArgument::REQUIRED, 'An example argument.'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php b/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php
new file mode 100644
index 0000000..61ca8e2
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php
@@ -0,0 +1,99 @@
+<?php namespace Illuminate\Foundation;
+
+use Closure;
+
+class EnvironmentDetector {
+
+	/**
+	 * Detect the application's current environment.
+	 *
+	 * @param  array|string  $environments
+	 * @param  array|null  $consoleArgs
+	 * @return string
+	 */
+	public function detect($environments, $consoleArgs = null)
+	{
+		if ($consoleArgs)
+		{
+			return $this->detectConsoleEnvironment($environments, $consoleArgs);
+		}
+
+		return $this->detectWebEnvironment($environments);
+	}
+
+	/**
+	 * Set the application environment for a web request.
+	 *
+	 * @param  array|string  $environments
+	 * @return string
+	 */
+	protected function detectWebEnvironment($environments)
+	{
+		// If the given environment is just a Closure, we will defer the environment check
+		// to the Closure the developer has provided, which allows them to totally swap
+		// the webs environment detection logic with their own custom Closure's code.
+		if ($environments instanceof Closure)
+		{
+			return call_user_func($environments);
+		}
+
+		foreach ($environments as $environment => $hosts)
+		{
+			// To determine the current environment, we'll simply iterate through the possible
+			// environments and look for the host that matches the host for this request we
+			// are currently processing here, then return back these environment's names.
+			foreach ((array) $hosts as $host)
+			{
+				if ($this->isMachine($host)) return $environment;
+			}
+		}
+
+		return 'production';
+	}
+
+	/**
+	 * Set the application environment from command-line arguments.
+	 *
+	 * @param  mixed   $environments
+	 * @param  array  $args
+	 * @return string
+	 */
+	protected function detectConsoleEnvironment($environments, array $args)
+	{
+		// First we will check if an environment argument was passed via console arguments
+		// and if it was that automatically overrides as the environment. Otherwise, we
+		// will check the environment as a "web" request like a typical HTTP request.
+		if ( ! is_null($value = $this->getEnvironmentArgument($args)))
+		{
+			return head(array_slice(explode('=', $value), 1));
+		}
+
+		return $this->detectWebEnvironment($environments);
+	}
+
+	/**
+	 * Get the environment argument from the console.
+	 *
+	 * @param  array  $args
+	 * @return string|null
+	 */
+	protected function getEnvironmentArgument(array $args)
+	{
+		return array_first($args, function($k, $v)
+		{
+			return starts_with($v, '--env');
+		});
+	}
+
+	/**
+	 * Determine if the name matches the machine name.
+	 *
+	 * @param  string  $name
+	 * @return bool
+	 */
+	public function isMachine($name)
+	{
+		return str_is($name, gethostname());
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/MigrationPublisher.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/MigrationPublisher.php b/vendor/laravel/framework/src/Illuminate/Foundation/MigrationPublisher.php
new file mode 100644
index 0000000..75faab3
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/MigrationPublisher.php
@@ -0,0 +1,131 @@
+<?php namespace Illuminate\Foundation;
+
+use Carbon\Carbon;
+use Illuminate\Filesystem\Filesystem;
+
+class MigrationPublisher {
+
+	/**
+	 * A cache of migrations at a given destination.
+	 *
+	 * @var array
+	 */
+	protected $existing = array();
+
+	/**
+	 * Create a new migration publisher instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public function __construct(Filesystem $files)
+	{
+		$this->files = $files;
+	}
+
+	/**
+	 * Publish the given package's migrations.
+	 *
+	 * @param  string  $source
+	 * @param  string  $destination
+	 * @return array
+	 */
+	public function publish($source, $destination)
+	{
+		$add = 0;
+
+		$published = array();
+
+		foreach ($this->getFreshMigrations($source, $destination) as $file)
+		{
+			$add++;
+
+			$newName = $this->getNewMigrationName($file, $add);
+
+			$this->files->copy(
+				$file, $newName = $destination.'/'.$newName
+			);
+
+			$published[] = $newName;
+		}
+
+		return $published;
+	}
+
+	/**
+	 * Get the fresh migrations for the source.
+	 *
+	 * @param  string  $source
+	 * @param  string  $destination
+	 * @return array
+	 */
+	protected function getFreshMigrations($source, $destination)
+	{
+		return array_filter($this->getPackageMigrations($source), function($file) use ($destination)
+		{
+			return ! $this->migrationExists($file, $destination);
+		});
+	}
+
+	/**
+	 * Determine if the migration is already published.
+	 *
+	 * @param  string  $migration
+	 * @param  string  $destination
+	 * @return bool
+	 */
+	public function migrationExists($migration, $destination)
+	{
+		$existing = $this->getExistingMigrationNames($destination);
+
+		return in_array(substr(basename($migration), 18), $existing);
+	}
+
+	/**
+	 * Get the existing migration names from the destination.
+	 *
+	 * @param  string  $destination
+	 * @return array
+	 */
+	public function getExistingMigrationNames($destination)
+	{
+		if (isset($this->existing[$destination])) return $this->existing[$destination];
+
+		return $this->existing[$destination] = array_map(function($file)
+		{
+			return substr(basename($file), 18);
+
+		}, $this->files->files($destination));
+	}
+
+	/**
+	 * Get the file list from the source directory.
+	 *
+	 * @param  string  $source
+	 * @return array
+	 */
+	protected function getPackageMigrations($source)
+	{
+		$files = array_filter($this->files->files($source), function($file)
+		{
+			return ! starts_with($file, '.');
+		});
+
+		sort($files);
+
+		return $files;
+	}
+
+	/**
+	 * Get the new migration name.
+	 *
+	 * @param  string  $file
+	 * @param  int  $add
+	 * @return string
+	 */
+	protected function getNewMigrationName($file, $add)
+	{
+		return Carbon::now()->addSeconds($add)->format('Y_m_d_His').substr(basename($file), 17);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php b/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php
new file mode 100755
index 0000000..5944615
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php
@@ -0,0 +1,230 @@
+<?php namespace Illuminate\Foundation;
+
+use Illuminate\Filesystem\Filesystem;
+
+class ProviderRepository {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The path to the manifest.
+	 *
+	 * @var string
+	 */
+	protected $manifestPath;
+
+	/**
+	 * Default manifest structure.
+	 *
+	 * @var array
+	 */
+	protected $default = array('when' => array());
+
+	/**
+	 * Create a new service repository instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  string  $manifestPath
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, $manifestPath)
+	{
+		$this->files = $files;
+		$this->manifestPath = $manifestPath;
+	}
+
+	/**
+	 * Register the application service providers.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @param  array  $providers
+	 * @return void
+	 */
+	public function load(Application $app, array $providers)
+	{
+		$manifest = $this->loadManifest();
+
+		// First we will load the service manifest, which contains information on all
+		// service providers registered with the application and which services it
+		// provides. This is used to know which services are "deferred" loaders.
+		if ($this->shouldRecompile($manifest, $providers))
+		{
+			$manifest = $this->compileManifest($app, $providers);
+		}
+
+		// If the application is running in the console, we will not lazy load any of
+		// the service providers. This is mainly because it's not as necessary for
+		// performance and also so any provided Artisan commands get registered.
+		if ($app->runningInConsole())
+		{
+			$manifest['eager'] = $manifest['providers'];
+		}
+
+		// Next, we will register events to load the providers for each of the events
+		// that it has requested. This allows the service provider to defer itself
+		// while still getting automatically loaded when a certain event occurs.
+		foreach ($manifest['when'] as $provider => $events)
+		{
+			$this->registerLoadEvents($app, $provider, $events);
+		}
+
+		// We will go ahead and register all of the eagerly loaded providers with the
+		// application so their services can be registered with the application as
+		// a provided service. Then we will set the deferred service list on it.
+		foreach ($manifest['eager'] as $provider)
+		{
+			$app->register($this->createProvider($app, $provider));
+		}
+
+		$app->setDeferredServices($manifest['deferred']);
+	}
+
+	/**
+	 * Register the load events for the given provider.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @param  string  $provider
+	 * @param  array  $events
+	 * @return void
+	 */
+	protected function registerLoadEvents(Application $app, $provider, array $events)
+	{
+		if (count($events) < 1) return;
+
+		$app->make('events')->listen($events, function() use ($app, $provider)
+		{
+			$app->register($provider);
+		});
+	}
+
+	/**
+	 * Compile the application manifest file.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @param  array  $providers
+	 * @return array
+	 */
+	protected function compileManifest(Application $app, $providers)
+	{
+		// The service manifest should contain a list of all of the providers for
+		// the application so we can compare it on each request to the service
+		// and determine if the manifest should be recompiled or is current.
+		$manifest = $this->freshManifest($providers);
+
+		foreach ($providers as $provider)
+		{
+			$instance = $this->createProvider($app, $provider);
+
+			// When recompiling the service manifest, we will spin through each of the
+			// providers and check if it's a deferred provider or not. If so we'll
+			// add it's provided services to the manifest and note the provider.
+			if ($instance->isDeferred())
+			{
+				foreach ($instance->provides() as $service)
+				{
+					$manifest['deferred'][$service] = $provider;
+				}
+
+				$manifest['when'][$provider] = $instance->when();
+			}
+
+			// If the service providers are not deferred, we will simply add it to an
+			// of eagerly loaded providers that will be registered with the app on
+			// each request to the applications instead of being lazy loaded in.
+			else
+			{
+				$manifest['eager'][] = $provider;
+			}
+		}
+
+		return $this->writeManifest($manifest);
+	}
+
+	/**
+	 * Create a new provider instance.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @param  string  $provider
+	 * @return \Illuminate\Support\ServiceProvider
+	 */
+	public function createProvider(Application $app, $provider)
+	{
+		return new $provider($app);
+	}
+
+	/**
+	 * Determine if the manifest should be compiled.
+	 *
+	 * @param  array  $manifest
+	 * @param  array  $providers
+	 * @return bool
+	 */
+	public function shouldRecompile($manifest, $providers)
+	{
+		return is_null($manifest) || $manifest['providers'] != $providers;
+	}
+
+	/**
+	 * Load the service provider manifest JSON file.
+	 *
+	 * @return array
+	 */
+	public function loadManifest()
+	{
+		$path = $this->manifestPath.'/services.json';
+
+		// The service manifest is a file containing a JSON representation of every
+		// service provided by the application and whether its provider is using
+		// deferred loading or should be eagerly loaded on each request to us.
+		if ($this->files->exists($path))
+		{
+			$manifest = json_decode($this->files->get($path), true);
+
+			return array_merge($this->default, $manifest);
+		}
+	}
+
+	/**
+	 * Write the service manifest file to disk.
+	 *
+	 * @param  array  $manifest
+	 * @return array
+	 */
+	public function writeManifest($manifest)
+	{
+		$path = $this->manifestPath.'/services.json';
+
+		$this->files->put($path, json_encode($manifest, JSON_PRETTY_PRINT));
+
+		return $manifest;
+	}
+
+	/**
+	 * Create a fresh manifest array.
+	 *
+	 * @param  array  $providers
+	 * @return array
+	 */
+	protected function freshManifest(array $providers)
+	{
+		list($eager, $deferred) = array(array(), array());
+
+		return compact('providers', 'eager', 'deferred');
+	}
+
+	/**
+	 * Get the filesystem instance.
+	 *
+	 * @return \Illuminate\Filesystem\Filesystem
+	 */
+	public function getFilesystem()
+	{
+		return $this->files;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php
new file mode 100755
index 0000000..2881bc7
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php
@@ -0,0 +1,58 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Foundation\Artisan;
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\TailCommand;
+use Illuminate\Foundation\Console\ChangesCommand;
+use Illuminate\Foundation\Console\EnvironmentCommand;
+
+class ArtisanServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('artisan', function($app)
+		{
+			return new Artisan($app);
+		});
+
+		$this->app->bindShared('command.tail', function()
+		{
+			return new TailCommand;
+		});
+
+		$this->app->bindShared('command.changes', function()
+		{
+			return new ChangesCommand;
+		});
+
+		$this->app->bindShared('command.environment', function()
+		{
+			return new EnvironmentCommand;
+		});
+
+		$this->commands('command.tail', 'command.changes', 'command.environment');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('artisan', 'command.changes', 'command.environment');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/CommandCreatorServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/CommandCreatorServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/CommandCreatorServiceProvider.php
new file mode 100755
index 0000000..07610a8
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/CommandCreatorServiceProvider.php
@@ -0,0 +1,42 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\CommandMakeCommand;
+
+class CommandCreatorServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.command.make', function($app)
+		{
+			return new CommandMakeCommand($app['files']);
+		});
+
+		$this->commands('command.command.make');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array(
+			'command.command.make',
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php
new file mode 100755
index 0000000..570e22d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php
@@ -0,0 +1,46 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Foundation\Composer;
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\AutoloadCommand;
+
+class ComposerServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('composer', function($app)
+		{
+			return new Composer($app['files'], $app['path.base']);
+		});
+
+		$this->app->bindShared('command.dump-autoload', function($app)
+		{
+			return new AutoloadCommand($app['composer']);
+		});
+
+		$this->commands('command.dump-autoload');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('composer', 'command.dump-autoload');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php
new file mode 100644
index 0000000..307a39a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php
@@ -0,0 +1,73 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+
+class ConsoleSupportServiceProvider extends ServiceProvider {
+
+	/**
+	 * The provider class names.
+	 *
+	 * @var array
+	 */
+	protected $providers = array(
+		'Illuminate\Foundation\Providers\CommandCreatorServiceProvider',
+		'Illuminate\Foundation\Providers\ComposerServiceProvider',
+		'Illuminate\Foundation\Providers\KeyGeneratorServiceProvider',
+		'Illuminate\Foundation\Providers\MaintenanceServiceProvider',
+		'Illuminate\Foundation\Providers\OptimizeServiceProvider',
+		'Illuminate\Foundation\Providers\PublisherServiceProvider',
+		'Illuminate\Foundation\Providers\RouteListServiceProvider',
+		'Illuminate\Foundation\Providers\ServerServiceProvider',
+		'Illuminate\Foundation\Providers\TinkerServiceProvider',
+		'Illuminate\Queue\FailConsoleServiceProvider',
+	);
+
+	/**
+	 * An array of the service provider instances.
+	 *
+	 * @var array
+	 */
+	protected $instances = array();
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->instances = array();
+
+		foreach ($this->providers as $provider)
+		{
+			$this->instances[] = $this->app->register($provider);
+		}
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		$provides = array();
+
+		foreach ($this->providers as $provider)
+		{
+			$instance = $this->app->resolveProviderClass($provider);
+
+			$provides = array_merge($provides, $instance->provides());
+		}
+
+		return $provides;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/KeyGeneratorServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/KeyGeneratorServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/KeyGeneratorServiceProvider.php
new file mode 100755
index 0000000..755ac36
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/KeyGeneratorServiceProvider.php
@@ -0,0 +1,40 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\KeyGenerateCommand;
+
+class KeyGeneratorServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.key.generate', function($app)
+		{
+			return new KeyGenerateCommand($app['files']);
+		});
+
+		$this->commands('command.key.generate');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.key.generate');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/MaintenanceServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/MaintenanceServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/MaintenanceServiceProvider.php
new file mode 100755
index 0000000..e64d47f
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/MaintenanceServiceProvider.php
@@ -0,0 +1,46 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\UpCommand;
+use Illuminate\Foundation\Console\DownCommand;
+
+class MaintenanceServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.up', function()
+		{
+			return new UpCommand;
+		});
+
+		$this->app->bindShared('command.down', function()
+		{
+			return new DownCommand;
+		});
+
+		$this->commands('command.up', 'command.down');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.up', 'command.down');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/OptimizeServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/OptimizeServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/OptimizeServiceProvider.php
new file mode 100755
index 0000000..998c998
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/OptimizeServiceProvider.php
@@ -0,0 +1,66 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\OptimizeCommand;
+use Illuminate\Foundation\Console\ClearCompiledCommand;
+
+class OptimizeServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->registerOptimizeCommand();
+
+		$this->registerClearCompiledCommand();
+
+		$this->commands('command.optimize', 'command.clear-compiled');
+	}
+
+	/**
+	 * Register the optimize command.
+	 *
+	 * @return void
+	 */
+	protected function registerOptimizeCommand()
+	{
+		$this->app->bindShared('command.optimize', function($app)
+		{
+			return new OptimizeCommand($app['composer']);
+		});
+	}
+
+	/**
+	 * Register the compiled file remover command.
+	 *
+	 * @return void
+	 */
+	protected function registerClearCompiledCommand()
+	{
+		$this->app->bindShared('command.clear-compiled', function()
+		{
+			return new ClearCompiledCommand;
+		});
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.optimize', 'command.clear-compiled');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/PublisherServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/PublisherServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/PublisherServiceProvider.php
new file mode 100755
index 0000000..2d4496a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/PublisherServiceProvider.php
@@ -0,0 +1,201 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\ViewPublisher;
+use Illuminate\Foundation\AssetPublisher;
+use Illuminate\Foundation\ConfigPublisher;
+use Illuminate\Foundation\MigrationPublisher;
+use Illuminate\Foundation\Console\ViewPublishCommand;
+use Illuminate\Foundation\Console\AssetPublishCommand;
+use Illuminate\Foundation\Console\ConfigPublishCommand;
+use Illuminate\Foundation\Console\MigratePublishCommand;
+
+class PublisherServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->registerAssetPublisher();
+
+		$this->registerConfigPublisher();
+
+		$this->registerViewPublisher();
+
+		$this->registerMigrationPublisher();
+
+		$this->commands(
+			'command.asset.publish', 'command.config.publish',
+			'command.view.publish', 'command.migrate.publish'
+		);
+	}
+
+	/**
+	 * Register the asset publisher service and command.
+	 *
+	 * @return void
+	 */
+	protected function registerAssetPublisher()
+	{
+		$this->registerAssetPublishCommand();
+
+		$this->app->bindShared('asset.publisher', function($app)
+		{
+			$publicPath = $app['path.public'];
+
+			// The asset "publisher" is responsible for moving package's assets into the
+			// web accessible public directory of an application so they can actually
+			// be served to the browser. Otherwise, they would be locked in vendor.
+			$publisher = new AssetPublisher($app['files'], $publicPath);
+
+			$publisher->setPackagePath($app['path.base'].'/vendor');
+
+			return $publisher;
+		});
+	}
+
+	/**
+	 * Register the asset publish console command.
+	 *
+	 * @return void
+	 */
+	protected function registerAssetPublishCommand()
+	{
+		$this->app->bindShared('command.asset.publish', function($app)
+		{
+			return new AssetPublishCommand($app['asset.publisher']);
+		});
+	}
+
+	/**
+	 * Register the configuration publisher class and command.
+	 *
+	 * @return void
+	 */
+	protected function registerConfigPublisher()
+	{
+		$this->registerConfigPublishCommand();
+
+		$this->app->bindShared('config.publisher', function($app)
+		{
+			$path = $app['path'].'/config';
+
+			// Once we have created the configuration publisher, we will set the default
+			// package path on the object so that it knows where to find the packages
+			// that are installed for the application and can move them to the app.
+			$publisher = new ConfigPublisher($app['files'], $path);
+
+			$publisher->setPackagePath($app['path.base'].'/vendor');
+
+			return $publisher;
+		});
+	}
+
+	/**
+	 * Register the configuration publish console command.
+	 *
+	 * @return void
+	 */
+	protected function registerConfigPublishCommand()
+	{
+		$this->app->bindShared('command.config.publish', function($app)
+		{
+			return new ConfigPublishCommand($app['config.publisher']);
+		});
+	}
+
+	/**
+	 * Register the view publisher class and command.
+	 *
+	 * @return void
+	 */
+	protected function registerViewPublisher()
+	{
+		$this->registerViewPublishCommand();
+
+		$this->app->bindShared('view.publisher', function($app)
+		{
+			$viewPath = $app['path'].'/views';
+
+			// Once we have created the view publisher, we will set the default packages
+			// path on this object so that it knows where to find all of the packages
+			// that are installed for the application and can move them to the app.
+			$publisher = new ViewPublisher($app['files'], $viewPath);
+
+			$publisher->setPackagePath($app['path.base'].'/vendor');
+
+			return $publisher;
+		});
+	}
+
+	/**
+	 * Register the view publish console command.
+	 *
+	 * @return void
+	 */
+	protected function registerViewPublishCommand()
+	{
+		$this->app->bindShared('command.view.publish', function($app)
+		{
+			return new ViewPublishCommand($app['view.publisher']);
+		});
+	}
+
+	/**
+	 * Register the migration publisher class and command.
+	 *
+	 * @return void
+	 */
+	protected function registerMigrationPublisher()
+	{
+		$this->registerMigratePublishCommand();
+
+		$this->app->bindShared('migration.publisher', function($app)
+		{
+			return new MigrationPublisher($app['files']);
+		});
+	}
+
+	/**
+	 * Register the migration publisher command.
+	 *
+	 * @return void
+	 */
+	protected function registerMigratePublishCommand()
+	{
+		$this->app->bindShared('command.migrate.publish', function()
+		{
+			return new MigratePublishCommand;
+		});
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array(
+			'asset.publisher',
+			'command.asset.publish',
+			'config.publisher',
+			'command.config.publish',
+			'view.publisher',
+			'command.view.publish',
+			'migration.publisher',
+			'command.migrate.publish',
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/RouteListServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/RouteListServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/RouteListServiceProvider.php
new file mode 100755
index 0000000..9dcbd9e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/RouteListServiceProvider.php
@@ -0,0 +1,40 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\RoutesCommand;
+
+class RouteListServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.routes', function($app)
+		{
+			return new RoutesCommand($app['router']);
+		});
+
+		$this->commands('command.routes');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.routes');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ServerServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ServerServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ServerServiceProvider.php
new file mode 100755
index 0000000..3d1e316
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ServerServiceProvider.php
@@ -0,0 +1,40 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\ServeCommand;
+
+class ServerServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.serve', function()
+		{
+			return new ServeCommand;
+		});
+
+		$this->commands('command.serve');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.serve');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Providers/TinkerServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Providers/TinkerServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/TinkerServiceProvider.php
new file mode 100755
index 0000000..81ef0d0
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Providers/TinkerServiceProvider.php
@@ -0,0 +1,40 @@
+<?php namespace Illuminate\Foundation\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Foundation\Console\TinkerCommand;
+
+class TinkerServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.tinker', function()
+		{
+			return new TinkerCommand;
+		});
+
+		$this->commands('command.tinker');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('command.tinker');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Testing/ApplicationTrait.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Testing/ApplicationTrait.php b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/ApplicationTrait.php
new file mode 100644
index 0000000..d254f3d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/ApplicationTrait.php
@@ -0,0 +1,190 @@
+<?php namespace Illuminate\Foundation\Testing;
+
+use Illuminate\Auth\UserInterface;
+
+trait ApplicationTrait {
+
+	/**
+	 * The Illuminate application instance.
+	 *
+	 * @var \Illuminate\Foundation\Application
+	 */
+	protected $app;
+
+	/**
+	 * The HttpKernel client instance.
+	 *
+	 * @var \Illuminate\Foundation\Testing\Client
+	 */
+	protected $client;
+
+	/**
+	 * Refresh the application instance.
+	 *
+	 * @return void
+	 */
+	protected function refreshApplication()
+	{
+		$this->app = $this->createApplication();
+
+		$this->client = $this->createClient();
+
+		$this->app->setRequestForConsoleEnvironment();
+
+		$this->app->boot();
+	}
+
+	/**
+	 * Call the given URI and return the Response.
+	 *
+	 * @param  string  $method
+	 * @param  string  $uri
+	 * @param  array   $parameters
+	 * @param  array   $files
+	 * @param  array   $server
+	 * @param  string  $content
+	 * @param  bool	$changeHistory
+	 * @return \Illuminate\Http\Response
+	 */
+	public function call($method, $uri, $parameters = [], $files = [], $server = [], $content = null, $changeHistory = true)
+	{
+		$this->client->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+
+		return $this->client->getResponse();
+	}
+
+	/**
+	 * Call the given HTTPS URI and return the Response.
+	 *
+	 * @param  string  $method
+	 * @param  string  $uri
+	 * @param  array   $parameters
+	 * @param  array   $files
+	 * @param  array   $server
+	 * @param  string  $content
+	 * @param  bool	$changeHistory
+	 * @return \Illuminate\Http\Response
+	 */
+	public function callSecure($method, $uri, $parameters = [], $files = [], $server = [], $content = null, $changeHistory = true)
+	{
+		$uri = 'https://localhost/'.ltrim($uri, '/');
+
+		return $this->call($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+	}
+
+	/**
+	 * Call a controller action and return the Response.
+	 *
+	 * @param  string  $method
+	 * @param  string  $action
+	 * @param  array   $wildcards
+	 * @param  array   $parameters
+	 * @param  array   $files
+	 * @param  array   $server
+	 * @param  string  $content
+	 * @param  bool	$changeHistory
+	 * @return \Illuminate\Http\Response
+	 */
+	public function action($method, $action, $wildcards = array(), $parameters = array(), $files = array(), $server = array(), $content = null, $changeHistory = true)
+	{
+		$uri = $this->app['url']->action($action, $wildcards, true);
+
+		return $this->call($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+	}
+
+	/**
+	 * Call a named route and return the Response.
+	 *
+	 * @param  string  $method
+	 * @param  string  $name
+	 * @param  array   $routeParameters
+	 * @param  array   $parameters
+	 * @param  array   $files
+	 * @param  array   $server
+	 * @param  string  $content
+	 * @param  bool	$changeHistory
+	 * @return \Illuminate\Http\Response
+	 */
+	public function route($method, $name, $routeParameters = array(), $parameters = array(), $files = array(), $server = array(), $content = null, $changeHistory = true)
+	{
+		$uri = $this->app['url']->route($name, $routeParameters);
+
+		return $this->call($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+	}
+
+	/**
+	 * Set the session to the given array.
+	 *
+	 * @param  array  $data
+	 * @return void
+	 */
+	public function session(array $data)
+	{
+		$this->startSession();
+
+		foreach ($data as $key => $value)
+		{
+			$this->app['session']->put($key, $value);
+		}
+	}
+
+	/**
+	 * Flush all of the current session data.
+	 *
+	 * @return void
+	 */
+	public function flushSession()
+	{
+		$this->startSession();
+
+		$this->app['session']->flush();
+	}
+
+	/**
+	 * Start the session for the application.
+	 *
+	 * @return void
+	 */
+	protected function startSession()
+	{
+		if ( ! $this->app['session']->isStarted())
+		{
+			$this->app['session']->start();
+		}
+	}
+
+	/**
+	 * Set the currently logged in user for the application.
+	 *
+	 * @param  \Illuminate\Auth\UserInterface  $user
+	 * @param  string  $driver
+	 * @return void
+	 */
+	public function be(UserInterface $user, $driver = null)
+	{
+		$this->app['auth']->driver($driver)->setUser($user);
+	}
+
+	/**
+	 * Seed a given database connection.
+	 *
+	 * @param  string  $class
+	 * @return void
+	 */
+	public function seed($class = 'DatabaseSeeder')
+	{
+		$this->app['artisan']->call('db:seed', array('--class' => $class));
+	}
+
+	/**
+	 * Create a new HttpKernel client instance.
+	 *
+	 * @param  array  $server
+	 * @return \Symfony\Component\HttpKernel\Client
+	 */
+	protected function createClient(array $server = array())
+	{
+		return new Client($this->app, $server);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php
new file mode 100644
index 0000000..218595b
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php
@@ -0,0 +1,223 @@
+<?php namespace Illuminate\Foundation\Testing;
+
+use Illuminate\View\View;
+
+trait AssertionsTrait {
+
+	/**
+	 * Assert that the client response has an OK status code.
+	 *
+	 * @return void
+	 */
+	public function assertResponseOk()
+	{
+		$response = $this->client->getResponse();
+
+		$actual = $response->getStatusCode();
+
+		return $this->assertTrue($response->isOk(), 'Expected status code 200, got ' .$actual);
+	}
+
+	/**
+	 * Assert that the client response has a given code.
+	 *
+	 * @param  int  $code
+	 * @return void
+	 */
+	public function assertResponseStatus($code)
+	{
+		return $this->assertEquals($code, $this->client->getResponse()->getStatusCode());
+	}
+
+	/**
+	 * Assert that the response view has a given piece of bound data.
+	 *
+	 * @param  string|array  $key
+	 * @param  mixed  $value
+	 * @return void
+	 */
+	public function assertViewHas($key, $value = null)
+	{
+		if (is_array($key)) return $this->assertViewHasAll($key);
+
+		$response = $this->client->getResponse();
+
+		if ( ! isset($response->original) || ! $response->original instanceof View)
+		{
+			return $this->assertTrue(false, 'The response was not a view.');
+		}
+
+		if (is_null($value))
+		{
+			$this->assertArrayHasKey($key, $response->original->getData());
+		}
+		else
+		{
+			$this->assertEquals($value, $response->original->$key);
+		}
+	}
+
+	/**
+	 * Assert that the view has a given list of bound data.
+	 *
+	 * @param  array  $bindings
+	 * @return void
+	 */
+	public function assertViewHasAll(array $bindings)
+	{
+		foreach ($bindings as $key => $value)
+		{
+			if (is_int($key))
+			{
+				$this->assertViewHas($value);
+			}
+			else
+			{
+				$this->assertViewHas($key, $value);
+			}
+		}
+	}
+
+	/**
+	 * Assert that the response view is missing a piece of bound data.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function assertViewMissing($key)
+	{
+		$response = $this->client->getResponse();
+
+		if ( ! isset($response->original) || ! $response->original instanceof View)
+		{
+			return $this->assertTrue(false, 'The response was not a view.');
+		}
+
+		$this->assertArrayNotHasKey($key, $response->original->getData());
+	}
+
+	/**
+	 * Assert whether the client was redirected to a given URI.
+	 *
+	 * @param  string  $uri
+	 * @param  array   $with
+	 * @return void
+	 */
+	public function assertRedirectedTo($uri, $with = array())
+	{
+		$response = $this->client->getResponse();
+
+		$this->assertInstanceOf('Illuminate\Http\RedirectResponse', $response);
+
+		$this->assertEquals($this->app['url']->to($uri), $response->headers->get('Location'));
+
+		$this->assertSessionHasAll($with);
+	}
+
+	/**
+	 * Assert whether the client was redirected to a given route.
+	 *
+	 * @param  string  $name
+	 * @param  array   $parameters
+	 * @param  array   $with
+	 * @return void
+	 */
+	public function assertRedirectedToRoute($name, $parameters = array(), $with = array())
+	{
+		$this->assertRedirectedTo($this->app['url']->route($name, $parameters), $with);
+	}
+
+	/**
+	 * Assert whether the client was redirected to a given action.
+	 *
+	 * @param  string  $name
+	 * @param  array   $parameters
+	 * @param  array   $with
+	 * @return void
+	 */
+	public function assertRedirectedToAction($name, $parameters = array(), $with = array())
+	{
+		$this->assertRedirectedTo($this->app['url']->action($name, $parameters), $with);
+	}
+
+	/**
+	 * Assert that the session has a given list of values.
+	 *
+	 * @param  string|array  $key
+	 * @param  mixed  $value
+	 * @return void
+	 */
+	public function assertSessionHas($key, $value = null)
+	{
+		if (is_array($key)) return $this->assertSessionHasAll($key);
+
+		if (is_null($value))
+		{
+			$this->assertTrue($this->app['session.store']->has($key), "Session missing key: $key");
+		}
+		else
+		{
+			$this->assertEquals($value, $this->app['session.store']->get($key));
+		}
+	}
+
+	/**
+	 * Assert that the session has a given list of values.
+	 *
+	 * @param  array  $bindings
+	 * @return void
+	 */
+	public function assertSessionHasAll(array $bindings)
+	{
+		foreach ($bindings as $key => $value)
+		{
+			if (is_int($key))
+			{
+				$this->assertSessionHas($value);
+			}
+			else
+			{
+				$this->assertSessionHas($key, $value);
+			}
+		}
+	}
+
+	/**
+	 * Assert that the session has errors bound.
+	 *
+	 * @param  string|array  $bindings
+	 * @param  mixed  $format
+	 * @return void
+	 */
+	public function assertSessionHasErrors($bindings = array(), $format = null)
+	{
+		$this->assertSessionHas('errors');
+
+		$bindings = (array) $bindings;
+
+		$errors = $this->app['session.store']->get('errors');
+
+		foreach ($bindings as $key => $value)
+		{
+			if (is_int($key))
+			{
+				$this->assertTrue($errors->has($value), "Session missing error: $value");
+			}
+			else
+			{
+				$this->assertContains($value, $errors->get($key, $format));
+			}
+		}
+	}
+
+	/**
+	 * Assert that the session has old input.
+	 *
+	 * @return void
+	 */
+	public function assertHasOldInput()
+	{
+		$this->assertSessionHas('_old_input');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Client.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Client.php b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Client.php
new file mode 100755
index 0000000..d32425e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Client.php
@@ -0,0 +1,38 @@
+<?php namespace Illuminate\Foundation\Testing;
+
+use Illuminate\Foundation\Application;
+use Symfony\Component\HttpKernel\Client as BaseClient;
+use Symfony\Component\BrowserKit\Request as DomRequest;
+
+class Client extends BaseClient {
+
+	/**
+	 * Convert a BrowserKit request into a Illuminate request.
+	 *
+	 * @param  \Symfony\Component\BrowserKit\Request  $request
+	 * @return \Illuminate\Http\Request
+	 */
+	protected function filterRequest(DomRequest $request)
+	{
+		$httpRequest = Application::onRequest('create', $this->getRequestParameters($request));
+
+		$httpRequest->files->replace($this->filterFiles($httpRequest->files->all()));
+
+		return $httpRequest;
+	}
+
+	/**
+	 * Get the request parameters from a BrowserKit request.
+	 *
+	 * @param  \Symfony\Component\BrowserKit\Request  $request
+	 * @return array
+	 */
+	protected function getRequestParameters(DomRequest $request)
+	{
+		return array(
+			$request->getUri(), $request->getMethod(), $request->getParameters(), $request->getCookies(),
+			$request->getFiles(), $request->getServer(), $request->getContent()
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php
new file mode 100755
index 0000000..1c9326a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php
@@ -0,0 +1,29 @@
+<?php namespace Illuminate\Foundation\Testing;
+
+abstract class TestCase extends \PHPUnit_Framework_TestCase {
+
+	use ApplicationTrait, AssertionsTrait;
+
+	/**
+	 * Setup the test environment.
+	 *
+	 * @return void
+	 */
+	public function setUp()
+	{
+		if ( ! $this->app)
+		{
+			$this->refreshApplication();
+		}
+	}
+
+	/**
+	 * Creates the application.
+	 *
+	 * Needs to be implemented by subclasses.
+	 *
+	 * @return \Symfony\Component\HttpKernel\HttpKernelInterface
+	 */
+	abstract public function createApplication();
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/ViewPublisher.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/ViewPublisher.php b/vendor/laravel/framework/src/Illuminate/Foundation/ViewPublisher.php
new file mode 100755
index 0000000..c223991
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/ViewPublisher.php
@@ -0,0 +1,117 @@
+<?php namespace Illuminate\Foundation;
+
+use Illuminate\Filesystem\Filesystem;
+
+class ViewPublisher {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The destination of the view files.
+	 *
+	 * @var string
+	 */
+	protected $publishPath;
+
+	/**
+	 * The path to the application's packages.
+	 *
+	 * @var string
+	 */
+	protected $packagePath;
+
+	/**
+	 * Create a new view publisher instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  string  $publishPath
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, $publishPath)
+	{
+		$this->files = $files;
+		$this->publishPath = $publishPath;
+	}
+
+	/**
+	 * Publish view files from a given path.
+	 *
+	 * @param  string  $package
+	 * @param  string  $source
+	 * @return void
+	 */
+	public function publish($package, $source)
+	{
+		$destination = $this->publishPath."/packages/{$package}";
+
+		$this->makeDestination($destination);
+
+		return $this->files->copyDirectory($source, $destination);
+	}
+
+	/**
+	 * Publish the view files for a package.
+	 *
+	 * @param  string  $package
+	 * @param  string  $packagePath
+	 * @return void
+	 */
+	public function publishPackage($package, $packagePath = null)
+	{
+		$source = $this->getSource($package, $packagePath ?: $this->packagePath);
+
+		return $this->publish($package, $source);
+	}
+
+	/**
+	 * Get the source views directory to publish.
+	 *
+	 * @param  string  $package
+	 * @param  string  $packagePath
+	 * @return string
+	 *
+	 * @throws \InvalidArgumentException
+	 */
+	protected function getSource($package, $packagePath)
+	{
+		$source = $packagePath."/{$package}/src/views";
+
+		if ( ! $this->files->isDirectory($source))
+		{
+			throw new \InvalidArgumentException("Views not found.");
+		}
+
+		return $source;
+	}
+
+	/**
+	 * Create the destination directory if it doesn't exist.
+	 *
+	 * @param  string  $destination
+	 * @return void
+	 */
+	protected function makeDestination($destination)
+	{
+		if ( ! $this->files->isDirectory($destination))
+		{
+			$this->files->makeDirectory($destination, 0777, true);
+		}
+	}
+
+	/**
+	 * Set the default package path.
+	 *
+	 * @param  string  $packagePath
+	 * @return void
+	 */
+	public function setPackagePath($packagePath)
+	{
+		$this->packagePath = $packagePath;
+	}
+
+}