[haiku-depot-web] [haiku-depot-web-app] push by haiku.li...@xxxxxxxxx - changes related to deployment;... on 2013-12-18 09:23 GMT

  • From: haiku-depot-web-app@xxxxxxxxxxxxxx
  • To: haiku-depot-web@xxxxxxxxxxxxx
  • Date: Wed, 18 Dec 2013 09:23:31 +0000

Revision: 2dc18757e202
Author:   Andrew Lindesay <apl@xxxxxxxxxxxxxx>
Date:     Wed Dec 18 09:17:36 2013 UTC
Log:      changes related to deployment;
* tomcat self-contained build product
* documentation changes

http://code.google.com/p/haiku-depot-web-app/source/detail?r=2dc18757e202

Added:
 /docs/api.md
 /docs/configguide.md
 /docs/deploymentguide.md
 /docs/developmentguide.md
Deleted:
 /haikudepotserver-webapp/src/main/resources/local-sample.properties
Modified:
 /README.TXT
 /haikudepotserver-webapp/pom.xml
/haikudepotserver-webapp/src/main/java/org/haikuos/haikudepotserver/pkg/controller/PkgIconController.java /haikudepotserver-webapp/src/main/resources/db/haikudepot/migration/V1.0__Initialize.sql
 /haikudepotserver-webapp/src/main/resources/spring/application-context.xml
 /haikudepotserver-webapp/src/main/resources/spring/servlet-context.xml
/haikudepotserver-webapp/src/main/webapp/js/app/controller/createusercontroller.js
 /pom.xml

=======================================
--- /dev/null
+++ /docs/api.md        Wed Dec 18 09:17:36 2013 UTC
@@ -0,0 +1,174 @@
+# API
+
+## General
+
+This information applies to all areas of the API for the system.
+
+### Clients
+
+A client of this system's API may be a desktop application (eg; Haiku Depot) or may be logic in a web page where the web page is using some java-script to call back to the server.
+
+### API Version
+The application generally refers to "api 1" in anticipation that at some point there is the _possibility_ that a second, incompatible API may be required.
+
+### Object References
+When objects such as packages or users are referred to in the API, the database primary key is **not** used. Instead either a natural or artifical identifier is employed. For example, in the case of a package, the package's name may be used. In the case of a screen-shot, a GUID (unique identifier) will be used to identify a particular screenshot.
+
+### Reference Data
+Reference data means data in the application that is generally invariant. Examples include the mime types, natural language, url types and so on. In these cases, an API will generally provide for access to the list of reference data. The client is expected to obtain such reference data as necessary and cache reference data locally.
+
+### Invocations and Transport
+The term _invocation_ refers to a request-response cycle from the client software into the application server over the HTTP protocol. Each API invocation is made in a _stateless_ manner in that each invocation is not dependent on the prior invocation.
+
+### Authentication
+Authentication of invocations uses [basic authentication](http://en.wikipedia.org/wiki/Basic_access_authentication) for both REST and JSON-RPC. This procedure involves an HTTP header being included in each invocation that identifies the user and also provides their password. The value of the header includes a base-64 encoded string of the username and password, separated by a colon. This is an example;
+
+```
+Authorization: Basic dXNlcjpwYXNzd29yZA==
+```
+
+If the authentication fails then the request will continue unauthenticated; there is no 'challenge' returned back to the caller. A special API exists to provide a means to test an authentication.
+
+The application does not support cookie-based authentication.
+
+## JSON-RPC API
+
+Most API is vended as JSON-RPC(http://www.jsonrpc.org) encoded HTTP POST invocations. The data transfer objects (DTOs) that describe the request and the response data as well as the APIs' interfaces exist in the "haikudepotserver-api" module in the java package "org.haikuos.haikudepotserver.api1".
+
+The documentation and list of available methods can be obtained by viewing the java interfaces and model objects in that module.
+
+### Exmaple; Get a Package
+
+In this example, the client knows the _name_ of the package and would like to get the details of the package. The java model objects that document the data required in request and the data that can be expected in the response can be found in the project;
+
+* org.haikuos.haikudepotserver.api1.model.pkg.GetPkgRequest
+* org.haikuos.haikudepotserver.api1.model.pkg.GetPkgResult
+
+The method that is invoked can be found at;
+
+```
+org.haikuos.haikudepotserver.api1.PkgApi#getPkg(..)
+```
+
+You will notice at the top of this interface, there is an annotation that describes the path or "endpoint" for this API. In this case it is "/api/v1/pkg". Given a host and port, this can be extrapolated into a URL that can be used to invoke to this method;
+
+```
+http://localhost:8080/api/v1/pkg
+```
+
+The invocation is made using the HTTP protocol with the method POST. The Content-Type HTTP header must be set to "application/json" for both the request and the response. The request object would look something like this;
+
+```
+{
+ "jsonrpc":"2.0",
+ "id":4143431,
+ "method":"getPkg",
+ "params":[{
+   "name":"apr",
+   "architectureCode":"x86",
+   "versionType":"NONE"
+ }]
+}
+```
+
+All going well, the following (abridged) form of response would be sent back to the client;
+
+```
+{
+ "jsonrpc":"2.0",
+ "id":4143431,
+ "result":{
+  "name":"apr",
+  "hasIcon":true,
+  "canEdit":false,
+  "versions":[],
+  "modifyTimestamp":12345678
+ }
+}
+```
+
+See the [JSON-RPC](http://www.jsonrpc.org) web site for examples of the response envelope format for the scenario in which an error has arisen in the invocation.
+
+### Error Codes
+
+A set of known JSON-RPC error codes are agreed between the client and server. See the JSON-RPC 'specification' for known error codes used for transport-related issues such as invalid parameters. Application-specific error codes are documented in the java source at;
+
+* org.haikuos.haikudepotserver.api1.support.Constants
+
+Some errors such as the validation error (code -32800) may also carry additional data that provides detail as to the nature of the error that has arisen. Java logic for assembling the error payloads can be found at;
+
+* org.haikuos.haikudepotserver.api1.support.ErrorResolverImpl
+
+## REST API
+
+REST API is generally required where data is inappropriate to encode as JSON-RPC. This tends to be situations where the data is binary in nature. An example of this is where a package icon needs to be uploaded.
+
+### Entry Point
+This API will provide the web application's HTML user interface.
+
+* HTTP Method : GET
+* Path : /
+* Response _Content-Type_ : text/html
+
+### Import Repository Data
+
+This API provides a mechanism by which an external client is able to trigger the application to start importing package-related data from a remote repository. This API is provided as REST because the client is likely to be scripted using a scripting language and REST is the most appropriate protocol to employ in this situation. This invocation will trigger the import process, but the import process will execute in a background thread in the application server and will not block the client.
+
+* HTTP Method : GET
+* Path : /importrepositorydata
+* Response _Content-Type_ : text/plain
+* Query Parameters
+       *  **code** : Identifies the repository from which data should be 
obtained
+* Expected HTTP Status Codes
+       * **200** : The import job was accepted
+       * **400** : The code was not supplied in the request
+
+An example URL is;
+
+```
+http://localhost:8080/importrepositorydata?code=haikuportsprod
+```
+
+### Get Package Icon
+
+This API is able to provide the icon for a package. If there is no icon stored then this method will provide a fall-back image.
+
+* HTTP Method : GET
+* Path : /pkgicon/<pkgname>.png
+* Response _Content-Type_ : image/png
+* Query Parameters
+ * **size** : Either 16 or 32 for the number of pixels; other values are not allowed
+* Expected HTTP Status Codes
+       * **200** : The icon is provided in the response
+       * **415** : The path did not include ".png" or the size is invalid
+       * **400** : The package name was not supplied
+       * **404** : The package was not found
+
+An example URL is;
+
+```
+http://localhost:8080/pkgicon/apr.png?size=32
+```
+
+### Put Package Icon
+
+This API is able to store an icon for a given size for a package.
+
+* HTTP Method : PUT
+* Path : /pkgicon/<pkgname>.png
+* Query Parameters
+ * **size** : Either 16 or 32 for the number of pixels; other values are not allowed
+* Expected HTTP Status Codes
+       * **200** : The icon was stored
+ * **415** : The path did not include ".png" or the size is invalid or the supplied data is not in PNG format or the size of the suppied data does not agree with the size specified in the query parameter.
+       * **404** : The package identified in the path was not able to be found
+       * **400** : The package name was not supplied
+
+An example URL is;
+
+```
+http://localhost:8080/pkgicon/apr.png?size=32
+```
+
+
+
=======================================
--- /dev/null
+++ /docs/configguide.md        Wed Dec 18 09:17:36 2013 UTC
@@ -0,0 +1,27 @@
+# Configuration Guide
+
+The application is configured using a standard java properties file. The typical format has this form;
+
+```
+# Comment
+key1=value
+key2=value
+```
+
+There are a number of keys which are described below.
+
+## Database
+
+| Key | Description |Sample|
+|:----|:------------|:-----|
+| ```jdbc.driver```|This is the class name of the JDBC driver employed.| ```org.postgresql.Driver```| +|```jdbc.url```|This is the JDBC connect URL to the main database| ```jdbc:postgres://localhost:5432/haikudepotserver```|
+|```jdbc.username```|Database user's username|-|
+|```jdbc.password```|Database user's password|-|
+|```flyway.migrate```|Set this to true if you would like database schema migrations to be applied automatically as necessary. Generally this should be configured to true.|true|
+
+## Web
+
+| Key | Description |Sample|
+|:----|:------------|:-----|
+| ```webresourcegroup.separated```|Some web resources such as javascript file can be concatinated for efficiency. Setting this configuration key to true will mean that such resources are delivered to browsers as separated files; less efficient, but easier to debug.|false|
=======================================
--- /dev/null
+++ /docs/deploymentguide.md    Wed Dec 18 09:17:36 2013 UTC
@@ -0,0 +1,128 @@
+# Deployment Guide
+
+This document outlines the approximate steps to build and deploy the web application-server. The application-server build process produces a 'stand-alone' java program. This build artifact is a packaged 'jar' file.
+
+## Warning; Root User
+
+The default database installs a user with the nickname of 'root' with a known password of 'p4mphl3t'. This password **must** be changed before the system is made available.
+
+## Java and Maven
+
+The application server runs in a java process. For this reason, your deployment environment should have java 1.6 or better available. On a [Debian](http://www.debian.org) 7.x host, it is possible to install java with;
+
+```
+apt-get install default-jdk
+```
+
+In order to build the application server, it is necessary to install [Apache Maven](http://maven.apache.org) version 3 or better. On a [Debian](http://www.debian.org) 7.x host, it is possible to install maven with;
+
+```
+apt-get install maven
+```
+
+## Database
+
+The actual database configuration for a production environment may differ from that described here. These setup steps are simplistic as it is not possible to envisage all of the possible environmental factors involved in a production deployment.
+
+The application server stores its operational data in a relational database. The database _product_ that this project uses is [Postgres](http://www.postgres.org). You should install Postgres version 9.1 or better. This document does not cover platform installation of Postgres although it is possible to install the necessary Postgres database and tools on a [Debian](http://www.debian.org) 7.x host with;
+
+```
+apt-get install postgresql postgresql-client
+```
+
+### Setup Database and User for Development
+
+By this point, the Postgres database _product_ is now installed on a UNIX-like computer system and is running as the UNIX user 'postgres'. Create a new database with the following command;
+
+```
+sudo -u postgres createuser -P -E haikudepotserver
+```
+
+Now create the database;
+
+```
+sudo -u postgres createdb -O haikudepotserver haikudepotserver
+```
+
+### Check Login
+
+You can check the login to the database works by opening a SQL terminal;
+
+```
+psql -h localhost -U haikudepotserver haikudepotserver
+```
+
+### Configure Schema Objects
+
+The application server will populate and configure the schema objects itself as it first loads. Subject to correct configuration, subsequent versions of the application server will then upgrade the database schema objects as necessary as the application server launches.
+
+## Obtaining the Build Product
+
+To build the application server, it is necessary to have an internet connection. The build process may take some time to complete for the first build because many dependencies will need to be downloaded from the internet.
+
+### Development / Snapshot Build
+
+From the top level of the project, issue the following command to build all of the artifacts; `mvn clean && mvn package`. This will produce a deployment artifact at;
+
+```
+haikudepotserver-webapp/target/haikudepotserver-webapp-1.0.1-SNAPSHOT-war-exec.jar
+```
+
+The actual filename may vary depending on the version being built.
+
+## Launching
+
+To launch the binary with 256 megabytes of heap memory, issue a command similar to;
+
+```
+java \
+ -Xmx256m \
+ -Dconfig.properties=/opt/haikudepotserver/config.properties \
+ -jar haikudepotserver-webapp-1.2.3-war-exec.jar \
+ -resetExtract \
+ -extractDirectory /var/cache/haikudepotserver-webapp
+```
+
+The configuration properties file is documented separately. You will need to create a configuration file for your deployment environment.
+
+By default the logging will be streamed to stdout/stderr. It is possible to configure this using a [logback](http://logback.qos.ch/) logging configuration file.
+
+The binary runs as an [Apache Tomcat](http://tomcat.apache.org/) server. There are a handful of other easily-accessed command line options which can be used to fine-tune the deployment. These can be viewed by executing the binary as follows;
+
+```
+java \
+ -jar haikudepotserver-webapp-1.2.3-war-exec.jar
+ -h
+```
+
+## Setting Up Repositories
+
+The application server will pull ".hpkr" files from remote repositories that contain information about the packages at that repository. At the time of writing, it is necessary to configure the repositories by hand. A repository can be added using a SQL shell.
+
+In this ficticious example, an ".hpkr" file has been placed in the temporary directory. The following SQL command can be executed to add a repository that pulls the ".hpkr" from the temporary directory. In reality, the real repositories will have an internet-accessible URL.
+
+```
+INSERT INTO
+  haikudepot.repository (
+    id, active, create_timestamp, modify_timestamp,
+    architecture_id, code, url)
+  VALUES (
+    nextval('haikudepot.repository_seq'), true, now(), now(),
+    (SELECT id FROM haikudepot.architecture WHERE code='x86'),
+    'test',
+    'file:///tmp/repo.hpkr');
+```
+
+In order to prompt the system to import this ".hpkr" file and populate some repository data into the system, you can use the curl tool as follows;
+
+```
+curl "http://localhost:8080/importrepositorydata?code=test";
+```
+
+## Accessing the Web Environment
+
+Once running, the web environment will be accessible from;
+
+```
+http://localhost:8081/
+```
=======================================
--- /dev/null
+++ /docs/developmentguide.md   Wed Dec 18 09:17:36 2013 UTC
@@ -0,0 +1,34 @@
+# Development Guide
+
+Many of the setup steps for development cross-over with the actual deployment and so this should be read along-side the deployment guide. The prerequisites are largely the same;
+
+* Java and Maven
+* Postgres
+
+The project consists of a number of modules. The "haikudepotserver-webapp" is the application server module. You should configure a **development** configuration file at the following location relative to the top-level of the source;
+
+```
+haikudepotserver-webapp/src/main/resources/local.properties
+```
+
+See the accompanying configuration document for details on the form of these configuration files.
+
+Some of the project source-files (web resources) are downloaded from the internet on the first build. Your first step should be to undertake a build by issuing this command from the top level of the project;
+
+```
+mvn package
+```
+
+To start-up the application server for development purposes, issue the following command from the same top level of the project;
+
+```
+mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run
+```
+
+This may take some time to start-up; especially the first time. Once it has started-up, it should be possible to connect to the application server using the following URL;
+
+```
+http://localhost:8080/
+```
+
+There won't be any repositories or data loaded, and because of this, it is not possible to view any data. See the deployment guide for details on how to setup a repository and load it in.
=======================================
--- /haikudepotserver-webapp/src/main/resources/local-sample.properties Fri Nov 15 08:51:45 2013 UTC
+++ /dev/null
@@ -1,15 +0,0 @@
-# This is a simple properties file for the application. It is suggested that this file be copied as "local.properties"
-# in the same directory for development purposes.
-
-# Database connection detail
-jdbc.driver=org.postgresql.Driver
-jdbc.url=jdbc:postgresql://localhost:5432/haikudepotserver
-jdbc.username=someuser
-jdbc.password=somepassword
-
-# Set to true if you want the database to be upgraded to the correct version on startup.
-flyway.migrate=true
-
-# Set to true if you would like javascript and CSS resources to be rendered in the HTML page as separate links -# as opposed to a single HTTP request. Separated is easier to work with from a development perspective.
-webresourcegroup.separated=true
=======================================
--- /README.TXT Thu Dec  5 09:23:22 2013 UTC
+++ /README.TXT Wed Dec 18 09:17:36 2013 UTC
@@ -1,80 +1,6 @@
 Haiku Depot Server
 ~~~~~~~~~~~~~~~~~~

-This collection of files represents the source code for the "Haiku Depot Server"; a web-services and HTML environment for working with Haiku packages. This is a maven java project that primarily builds an application server.
-
----
-REQUIREMENTS, BUILD AND SETUP
-
-To build and use this software, you will require;
-
-* Java JDK 1.6 or better
-* Apache Maven 3.0.3 or better
-* A Postgres 9.1 or better database server
-* An internet connection
-
-On a debian 7 host, the following packages can be installed;
-
-  apt-get install default-jdk
-  apt-get install maven
-  apt-get install postgresql postgresql-client
-
-The project consists of a number of modules. The "haikudepotserver-webapp" is the application server module. This module requires a database in order to function. It is expecting to work with a Postgres database server. Create a blank postgres database and ensure that you are able to access the database over an internet socket authenticating as some user. You can leave the database devoid of schema objects for now because the application server will populate necessary schema objects on the first launch.
-
-The following file in the "haikudepotserver-webapp" is a template configuration file for the application server;
-
-  src/main/resources/local-sample.properties
-
-Copy this to an adjacent file in the same directory called "local.properties". You will need to edit properties starting with "jdbc..." in order to let the application server know how to access your postgres database.
-
-The first build will take longer than 'normal' because it will need to download a number of dependencies from the internet in order to undertake the build. Some downloads are related to web-resources. These downloads are only indirectly managed by the maven build process. For this reason, your first step should be to complete a command-line build by issuing the following command in the same directory as this file;
-
-  mvn package
-
-This step will ensure that the web-resources are populated. You should now be able to either continue to use the project in the command line environment or you can switch to use a java IDE.
-
-To start-up the application server for development purposes, issue the following command from the same top level of the project; the same directory as this file.
-
-  mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run
-
-This may take some time to start-up; especially the first time. Once it has started-up, it should be possible to connect to the application server using the following URL;
-
-  http://localhost:8080/
-
-There won't be any repositories or data loaded, and because of this, it is not possible to view any data. Now a repository can be added to obtain packages from. Open a SQL terminal and add a repository;
-
-  INSERT INTO
-    haikudepot.repository (
-      id, active, create_timestamp, modify_timestamp,
-      architecture_id, code, url)
-    VALUES (
-      nextval('haikudepot.repository_seq'), true, now(), now(),
- (SELECT id FROM haikudepot.architecture WHERE code='x86'), 'test', 'file:///tmp/repo.hpkr');
-
-This artificial repository will obtain a file from the local file system's temporary directory. You could, for example, take the test HPKR file supplied in the test resources of the "haikudepotserver-packagefile" module and place this at /tmp/repo.hpkr. Now it should be possible to prompt the system to take-up the repository data by dispatching a URL of this form using a tool such as curl;
-
-  curl "http://localhost:8080/importrepositorydata?code=test";
-
-You should now refresh your browser and it ought to be possible to view the packages that have been imported from the test file.
-
-In order to edit data such as package icons from the web application, it is necessary to create a user; do so by using the pop-up list on the top right side of the upper navigation bar. At present it is necessary to be root to edit data. You should set the "is_root" flag on the "user" table for your newly created user. There is no user interface for this function; you must use SQL. Assuming that your new user were called "erik" then you might issue a SQL statement such as;
-
-  UPDATE haikudepot.user SET is_root=true WHERE nickname='erik';
-
----
-API
-
-The API for communicating with the server is described in the "haikudepotserver-api1" module. This contains DTO model objects describing the objects to be used in API calls as well as interfaces that describe the API calls that are available. The application server vends the API as JSON-RPC. More information about JSON-RPC can be found here;
-
-  http://www.jsonrpc.org/
-
-This API is intended to be used for the single-page web application as well as a desktop application.
-
----
-HPKR HANDLING
-
-Haiku packages are described using HPK* files and these are described here;
-
-  http://dev.haiku-os.org/wiki/PackageManagement
-
-The "haikudepotserver-packagefile" module contains handling for HPKR files. Given the requirements of the application server this handling is limited to read-only access. +This collection of files represents the source code for the "Haiku Depot Server"; a web-services and HTML environment +for working with Haiku packages. This is a maven java project that primarily builds an application server. Further +documentation regarding this project can be found in the "haikudepotserver-docs" directory.
=======================================
--- /haikudepotserver-webapp/pom.xml    Thu Dec  5 09:23:22 2013 UTC
+++ /haikudepotserver-webapp/pom.xml    Wed Dec 18 09:17:36 2013 UTC
@@ -158,6 +158,19 @@
                 </executions>
             </plugin>

+            <!--
+ This is required in order to configure the exclusion of the local properties files from the build
+            product.
+            -->
+
+            <plugin>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+ <packagingExcludes>WEB-INF/classes/local*.properties</packagingExcludes>
+                </configuration>
+            </plugin>
+
             <plugin>
                 <groupId>org.apache.tomcat.maven</groupId>
                 <artifactId>tomcat7-maven-plugin</artifactId>
@@ -172,6 +185,25 @@
                         <version>9.1-901.jdbc4</version>
                     </dependency>
                 </dependencies>
+                <executions>
+                    <execution>
+                        <id>tomcat-run</id>
+                        <goals>
+                            <goal>exec-war-only</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <path>/</path>
+                            <extraDependencies>
+                                <dependency>
+                                    <groupId>postgresql</groupId>
+                                    <artifactId>postgresql</artifactId>
+                                    <version>9.1-901.jdbc4</version>
+                                </dependency>
+                            </extraDependencies>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>

         </plugins>
=======================================
--- /haikudepotserver-webapp/src/main/java/org/haikuos/haikudepotserver/pkg/controller/PkgIconController.java Wed Dec 11 08:25:33 2013 UTC +++ /haikudepotserver-webapp/src/main/java/org/haikuos/haikudepotserver/pkg/controller/PkgIconController.java Wed Dec 18 09:17:36 2013 UTC
@@ -154,7 +154,7 @@
@ResponseStatus(value= HttpStatus.NOT_FOUND, reason="the requested package was unable to found")
     public class PkgNotFound extends RuntimeException {}

- @ResponseStatus(value= HttpStatus.NOT_FOUND, reason="the requested package cannot be edited by the authenticated user") + @ResponseStatus(value= HttpStatus.UNAUTHORIZED, reason="the requested package cannot be edited by the authenticated user")
     public class PkgAuthorizationFailure extends RuntimeException {}

 }
=======================================
--- /haikudepotserver-webapp/src/main/resources/db/haikudepot/migration/V1.0__Initialize.sql Fri Nov 15 08:51:45 2013 UTC +++ /haikudepotserver-webapp/src/main/resources/db/haikudepot/migration/V1.0__Initialize.sql Wed Dec 18 09:17:36 2013 UTC
@@ -82,3 +82,23 @@
 CREATE INDEX repository_idx02 ON haikudepot.repository(architecture_id);

 -- ------------------------------------------------------
+-- CREATE A ROOT USER
+-- ------------------------------------------------------
+
+INSERT INTO haikudepot.user (
+  active,
+  can_manage_users,
+  id,
+  is_root,
+  nickname,
+  password_hash,
+  password_salt)
+VALUES (
+  true,
+  true,
+  (SELECT nextval('haikudepot.user_seq')),
+  true,
+  'root',
+  '1debaaa4aa99077a0cb564d9ef94cf645bb64323871d2dc70668703c7791172a',
+  '984ad9a98d9c52d257b35dea5fde02ef07f65ccf0a08dd42c6f5450488583266'
+);
=======================================
--- /haikudepotserver-webapp/src/main/resources/spring/application-context.xml Wed Dec 11 08:25:33 2013 UTC +++ /haikudepotserver-webapp/src/main/resources/spring/application-context.xml Wed Dec 18 09:17:36 2013 UTC
@@ -15,11 +15,14 @@
     </context:component-scan>

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+        <property name="ignoreResourceNotFound" value="true"/>
         <property name="locations">
             <list>
                 <value>classpath:local.properties</value>
+                <value>${config.properties}</value>
             </list>
         </property>
+ <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
     </bean>

     <import resource="persistence-context.xml"/>
=======================================
--- /haikudepotserver-webapp/src/main/resources/spring/servlet-context.xml Wed Dec 11 08:25:33 2013 UTC +++ /haikudepotserver-webapp/src/main/resources/spring/servlet-context.xml Wed Dec 18 09:17:36 2013 UTC
@@ -12,6 +12,7 @@

     <context:component-scan base-package="org.haikuos.haikudepotserver">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
     </context:component-scan>

     <mvc:annotation-driven/>
=======================================
--- /haikudepotserver-webapp/src/main/webapp/js/app/controller/createusercontroller.js Fri Nov 15 08:51:45 2013 UTC +++ /haikudepotserver-webapp/src/main/webapp/js/app/controller/createusercontroller.js Wed Dec 18 09:17:36 2013 UTC
@@ -96,7 +96,7 @@
                     ).then(
                     function(result) {
$log.info('created new user; '+$scope.newUser.nickname); - $location.path('/viewuser/'+$scope.newUser.nickname).search({});
+                        $location.path('/authenticateuser').search({});
                     },
                     function(err) {

=======================================
--- /pom.xml    Fri Nov 15 08:51:45 2013 UTC
+++ /pom.xml    Wed Dec 18 09:17:36 2013 UTC
@@ -13,4 +13,9 @@
         <module>haikudepotserver-parent</module>
     </modules>

+    <scm>
+ <connection>scm:git:https://code.google.com/p/haiku-depot-web-app/</connection> + <developerConnection>scm:git:https://code.google.com/p/haiku-depot-web-app/</developerConnection>
+    </scm>
+
 </project>

Other related posts:

  • » [haiku-depot-web] [haiku-depot-web-app] push by haiku.li...@xxxxxxxxx - changes related to deployment;... on 2013-12-18 09:23 GMT - haiku-depot-web-app