http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch b/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch new file mode 100644 index 0000000..5870cb4 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE.launch @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<mapAttribute key="org.eclipse.debug.core.preferred_launchers"> +<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/> +<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/> +</mapAttribute> +<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> +</listAttribute> +<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 --type SERVER_PROTOTYPE"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="todoapp-webapp"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> +</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch b/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch new file mode 100644 index 0000000..a4ad877 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/ide/eclipse/launch/ToDoApp-SERVER.launch @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<mapAttribute key="org.eclipse.debug.core.preferred_launchers"> +<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/> +<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/> +</mapAttribute> +<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 --type SERVER"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="todoapp-webapp"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> +</launchConfiguration> http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/ide/intellij/launch/README.txt ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/ide/intellij/launch/README.txt b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/README.txt new file mode 100644 index 0000000..16391ab --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/README.txt @@ -0,0 +1,3 @@ +Copy into workspace\.idea\runConfigurations directory, and adjust file paths for Maven tasks. + + http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp_PROTOTYPE.xml ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp_PROTOTYPE.xml b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp_PROTOTYPE.xml new file mode 100644 index 0000000..d6d7e5f --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp_PROTOTYPE.xml @@ -0,0 +1,29 @@ +<component name="ProjectRunConfigurationManager"> + <configuration default="false" name="TodoApp-PROTOTYPE" type="Application" factoryName="Application" singleton="true"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="MAIN_CLASS_NAME" value="org.apache.isis.WebServer" /> + <option name="VM_PARAMETERS" value="" /> + <option name="PROGRAM_PARAMETERS" value="--type SERVER_PROTOTYPE --port 8080" /> + <option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" value="" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="todoapp-webapp" /> + <envs /> + <RunnerSettings RunnerId="Debug"> + <option name="DEBUG_PORT" value="" /> + <option name="TRANSPORT" value="0" /> + <option name="LOCAL" value="true" /> + </RunnerSettings> + <RunnerSettings RunnerId="Run" /> + <ConfigurationWrapper RunnerId="Debug" /> + <ConfigurationWrapper RunnerId="Run" /> + <method> + <option name="Make" enabled="false" /> + <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/core/pom.xml" goal="-f pom-jdo-enhance-all.xml datanucleus:enhance -o" /> + <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/todoapp/dom/pom.xml" goal="datanucleus:enhance -o" /> + </method> + </configuration> +</component> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp__enhance_only_.xml ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp__enhance_only_.xml b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp__enhance_only_.xml new file mode 100644 index 0000000..e74845c --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/ide/intellij/launch/TodoApp__enhance_only_.xml @@ -0,0 +1,23 @@ +<component name="ProjectRunConfigurationManager"> + <configuration default="false" name="TodoApp (enhance only)" type="Application" factoryName="Application"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> + <option name="MAIN_CLASS_NAME" value="org.apache.isis.Dummy" /> + <option name="VM_PARAMETERS" value="" /> + <option name="PROGRAM_PARAMETERS" value="" /> + <option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" value="" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="todoapp-webapp" /> + <envs /> + <RunnerSettings RunnerId="Run" /> + <ConfigurationWrapper RunnerId="Run" /> + <method> + <option name="Make" enabled="false" /> + <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/core/pom.xml" goal="-f pom-jdo-enhance-all.xml datanucleus:enhance -o" /> + <option name="Maven.BeforeRunTask" enabled="true" file="C:/Apache/Isis/example/application/todoapp/dom/pom.xml" goal="datanucleus:enhance -o" /> + </method> + </configuration> +</component> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/lib/.gitignore ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/lib/.gitignore b/mothballed/example/application/todoapp/webapp/lib/.gitignore new file mode 100644 index 0000000..70eee7e --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/lib/.gitignore @@ -0,0 +1,5 @@ +# +# explicitly ignoring Microsoft JDBC4 jar +# (cannot redistribute, licensing) +# +sqljdbc4.jar http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/pom.xml ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/pom.xml b/mothballed/example/application/todoapp/webapp/pom.xml new file mode 100644 index 0000000..40ca5ae --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/pom.xml @@ -0,0 +1,352 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.isis.example.application</groupId> + <artifactId>todoapp</artifactId> + <version>1.8.0-SNAPSHOT</version> + </parent> + + <artifactId>todoapp-webapp</artifactId> + <name>ToDo App Webapp</name> + + <description>This module runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description> + + <packaging>war</packaging> + + <properties> + <siteBaseDir>..</siteBaseDir> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>maven-jetty-plugin</artifactId> + </plugin> + + <!-- mvn package --> + <plugin> + <groupId>org.simplericity.jettyconsole</groupId> + <artifactId>jetty-console-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>createconsole</goal> + </goals> + <configuration> + <backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</backgroundImage> + <destinationFile>${project.build.directory}/${project.build.finalName}-jetty-console.jar</destinationFile> + </configuration> + <phase>package</phase> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <phase>validate</phase> + <goals> + <goal>maven-version</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-war-plugin</artifactId> + <configuration> + <warName>todoapp</warName> + <archive> + <manifest> + <addClasspath>false</addClasspath> + </manifest> + <manifestEntries> + <Build-Time>${maven.build.timestamp}</Build-Time> + <Build-Host>${agent.name}</Build-Host> + <Build-User>${user.name}</Build-User> + <Build-Maven>Maven ${maven.version}</Build-Maven> + <Build-Java>${java.version}</Build-Java> + <Build-OS>${os.name}</Build-OS> + <Build-Label>${project.version}</Build-Label> + </manifestEntries> + </archive> + </configuration> + </plugin> + + </plugins> + <pluginManagement> + <plugins> + <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId> + org.codehaus.mojo + </groupId> + <artifactId> + build-helper-maven-plugin + </artifactId> + <versionRange> + [1.5,) + </versionRange> + <goals> + <goal>maven-version</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + + <dependencies> + + <!-- other modules in this project --> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>todoapp-dom</artifactId> + <exclusions> + <exclusion> + <!-- so don't pick up transitive dependency to asm 4.0.0 --> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-enhancer</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>todoapp-fixture</artifactId> + <exclusions> + <exclusion> + <!-- so don't pick up transitive dependency to asm 4.0.0 --> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-enhancer</artifactId> + </exclusion> + </exclusions> + </dependency> + + <!-- other isis components --> + <dependency> + <groupId>org.apache.isis.viewer</groupId> + <artifactId>isis-viewer-wicket-impl</artifactId> + </dependency> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-viewer-restfulobjects-server</artifactId> + </dependency> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-security-shiro</artifactId> + </dependency> + + + <!-- isis core --> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-runtime</artifactId> + </dependency> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-wrapper</artifactId> + </dependency> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-security</artifactId> + </dependency> + + + <!-- to run using WebServer (optional) --> + <dependency> + <groupId>org.apache.isis.core</groupId> + <artifactId>isis-core-webserver</artifactId> + <scope>runtime</scope> + <optional>true</optional> + </dependency> + + + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_2.5_spec</artifactId> + <!-- + removed so can run o.a.i.WebServer from within IntelliJ; + can rely on servlet container to ignore this in war file + <scope>provided</scope> + --> + </dependency> + + <!-- + JDBC drivers + (for jdo objectstore) + --> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + </dependency> + + <!-- + <dependency> + <groupId>postgresql</groupId> + <artifactId>postgresql</artifactId> + <version>9.1-901.jdbc4</version> + </dependency> + --> + + <!-- + mvn install:install-file -Dfile=sqljdbc4.jar \ + -DgroupId=com.microsoft.sqlserver \ + -DartifactId=jdbc \ + -Dversion=4.0 \ + -Dpackaging=jar + --> + <!-- + <dependency> + <groupId>com.microsoft.sqlserver</groupId> + <artifactId>sqljdbc4</artifactId> + <version>4.0</version> + </dependency> + --> + + <dependency> + <groupId>org.lazyluke</groupId> + <artifactId>log4jdbc-remix</artifactId> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <profiles> + <profile> + <id>self-host</id> + <build> + <plugins> + <!-- + mvn -P self-host antrun:run + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <configuration> + <tasks> + <exec executable="java" failonerror="true"> + <arg value="-jar" /> + <arg value="${project.build.directory}/${project.build.finalName}-jetty-console.jar" /> + </exec> + </tasks> + </configuration> + </plugin> + </plugins> + </build> + </profile> + + <profile> + <id>jrebel</id> + <properties> + <!-- as used in the rebel.xml in the dom project --> + <target.dir>target</target.dir> + <isis-jrebel-plugin.packagePrefix>dom.todo,org.apache.isis.objectstore.jdo.applib</isis-jrebel-plugin.packagePrefix> + <isis-jrebel-plugin.loggingLevel>warn</isis-jrebel-plugin.loggingLevel> + </properties> + <build> + <plugins> + <!-- + mvn -P jrebel antrun:run \ + -Djrebel.jar="C:/Users/Dan/.IdeaIC13/config/plugins/jr-ide-idea/lib/jrebel/jrebel.jar" \ + -Disis_jrebel_plugin.jar="C:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar" + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <configuration> + <target> + <property name="compile_classpath" refid="maven.compile.classpath"/> + <property name="runtime_classpath" refid="maven.runtime.classpath"/> + <property name="test_classpath" refid="maven.test.classpath"/> + <property name="plugin_classpath" refid="maven.plugin.classpath"/> + + <echo message=""/> + <echo message=""/> + <echo message="jrebel.jar = ${jrebel.jar}"/> + <echo message="isis_jrebel_plugin.jar = ${isis_jrebel_plugin.jar}"/> + <echo message="target.dir = ${target.dir}"/> + <echo message=""/> + <echo message=""/> + + <exec executable="java" failonerror="true"> + <arg value="-javaagent:${jrebel.jar}"/> + <arg value="-Drebel.log=false"/> + <arg value="-Drebel.check_class_hash=true"/> + <arg value="-Drebel.packages_exclude=org.apache.isis"/> + + <!-- as used in the rebel.xml in the dom project --> + <arg value="-Dproject.root=${project.basedir}/.."/> + <arg value="-Dtarget.dir=${target.dir}"/> + + <arg value="-Drebel.plugins=${isis_jrebel_plugin.jar}"/> + <arg value="-Disis-jrebel-plugin.packagePrefix=${isis-jrebel-plugin.packagePrefix}"/> + <arg value="-Disis-jrebel-plugin.loggingLevel=${isis-jrebel-plugin.loggingLevel}"/> + <arg value="-XX:MaxPermSize=128m"/> + <arg value="-classpath"/> + <arg value="${runtime_classpath}"/> + <arg value="org.apache.isis.WebServer"/> + </exec> + </target> + </configuration> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>neo4j</id> + <dependencies> + <dependency> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-neo4j</artifactId> + <version>3.2.3</version> + </dependency> + </dependencies> + </profile> + </profiles> + + + +</project> http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomMementoService.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomMementoService.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomMementoService.java new file mode 100644 index 0000000..82a8a18 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomMementoService.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package webapp; + +import org.apache.isis.applib.annotation.Programmatic; +import org.apache.isis.core.runtime.services.memento.MementoServiceDefault; + + +/** + * Demonstrates how to register a replacement for one of the default framework-provided services. + * + * <p> + * In <code>isis.properties</code>, is registered using: + * </p> + * + * <pre> + * isis.services = \ + * ..., + * 1:webapp.CustomMementoService, + * ..., + * </pre> + * <p> + * that is, with a menuOrder of 1. + * </p> + */ +public class CustomMementoService extends MementoServiceDefault { + + @Programmatic + @Override + public Memento create() { + return super.create(); + } + + @Programmatic + @Override + public Memento parse(String str) { + return super.parse(str); + } + + @Programmatic + @Override + public boolean canSet(Object input) { + return super.canSet(input); + } +} http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomRepresentationService.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomRepresentationService.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomRepresentationService.java new file mode 100644 index 0000000..9cf70af --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/CustomRepresentationService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package webapp; + +import javax.ws.rs.core.Response; +import org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects; + +public class CustomRepresentationService extends RepresentationServiceForRestfulObjects { + + @Override + protected Response buildResponse(Response.ResponseBuilder responseBuilder) { + responseBuilder.header("X-ResponseGeneratedBy", getClass().getCanonicalName()); + return super.buildResponse(responseBuilder); + } + +} http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/ToDoApplication.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/ToDoApplication.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/ToDoApplication.java new file mode 100644 index 0000000..4f795b8 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/ToDoApplication.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package webapp; + +import de.agilecoders.wicket.core.Bootstrap; +import de.agilecoders.wicket.core.settings.IBootstrapSettings; +import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme; +import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import com.google.common.base.Joiner; +import com.google.common.io.Resources; +import com.google.inject.AbstractModule; +import com.google.inject.Module; +import com.google.inject.name.Names; +import com.google.inject.util.Modules; +import com.google.inject.util.Providers; +import org.apache.wicket.Session; +import org.apache.wicket.request.Request; +import org.apache.wicket.request.Response; +import org.apache.wicket.request.http.WebRequest; +import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication; +import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis; + + +/** + * As specified in <tt>web.xml</tt>. + * + * <p> + * See: + * <pre> + * <filter> + * <filter-name>wicket</filter-name> + * <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> + * <init-param> + * <param-name>applicationClassName</param-name> + * <param-value>webapp.ToDoApplication</param-value> + * </init-param> + * </filter> + * </pre> + * + */ +public class ToDoApplication extends IsisWicketApplication { + + private static final long serialVersionUID = 1L; + + /** + * set to true for a (slightly hacky) way of allowing logins using query args, eg: + * + * <tt>?user=sven&pass=pass</tt> + * + * <p> + * for demos only, obviously. + */ + private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false; + + @Override + protected void init() { + super.init(); + + final IBootstrapSettings settings = Bootstrap.getSettings(); + settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly)); + } + + @Override + public Session newSession(final Request request, final Response response) { + if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) { + return super.newSession(request, response); + } + + // else demo mode + final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response); + final org.apache.wicket.util.string.StringValue user = request.getRequestParameters().getParameterValue("user"); + final org.apache.wicket.util.string.StringValue password = request.getRequestParameters().getParameterValue("pass"); + s.signIn(user.toString(), password.toString()); + return s; + } + + @Override + public WebRequest newWebRequest(final HttpServletRequest servletRequest, final String filterPath) { + if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) { + return super.newWebRequest(servletRequest, filterPath); + } + + // else demo mode + try { + final String uname = servletRequest.getParameter("user"); + if (uname != null) { + servletRequest.getSession().invalidate(); + } + } catch (Exception ignored) { + } + + return super.newWebRequest(servletRequest, filterPath); + } + + @Override + protected Module newIsisWicketModule() { + final Module isisDefaults = super.newIsisWicketModule(); + + final Module overrides = new AbstractModule() { + @Override + protected void configure() { + + bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("ToDo App"); + bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css"); + bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js"); + bind(String.class).annotatedWith(Names.named("brandLogoHeader")).toInstance("/images/todo%61pp-logo-header.png"); + bind(String.class).annotatedWith(Names.named("brandLogoSignin")).toInstance("/images/todo%61pp-logo-signin.png"); + bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines(getClass(), "welcome.html")); + bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("ToDo App"); + bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF"))); + } + }; + + return Modules.override(isisDefaults).with(overrides); + } + + private static String readLines(final Class<?> contextClass, final String resourceName) { + try { + final List<String> readLines = Resources.readLines( + Resources.getResource(contextClass, resourceName), Charset.defaultCharset()); + final String aboutText = Joiner.on("\n").join(readLines); + return aboutText; + } catch (final IOException e) { + return "This is a Todo app"; + } + } + +} http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java new file mode 100644 index 0000000..a3c92b6 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java @@ -0,0 +1,71 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package webapp.prototyping; + +import java.net.MalformedURLException; +import java.net.URL; +import org.apache.isis.applib.annotation.Action; +import org.apache.isis.applib.annotation.ActionLayout; +import org.apache.isis.applib.annotation.DomainService; +import org.apache.isis.applib.annotation.DomainServiceLayout; +import org.apache.isis.applib.annotation.RestrictTo; +import org.apache.isis.applib.annotation.MemberOrder; +import org.apache.isis.applib.annotation.ParameterLayout; +import org.apache.isis.applib.annotation.SemanticsOf; + +@DomainService +@DomainServiceLayout( + menuBar = DomainServiceLayout.MenuBar.SECONDARY, + menuOrder = "20" +) +public class ExternalLinksService { + + public static enum ExternalLink { + ISIS_DOCUMENTATION("Apache Isis docs", "http://isis.apache.org/documentation.html"), + PROJECT_ON_GITHUB("Project source code on Github", "https://github.com/apache/isis/tree/master/example/application/todoapp/"); + + private final String title; + private final String url; + + private ExternalLink(final String title, final String url) { + this.title = title; + this.url = url; + } + + public URL open() throws MalformedURLException { + return new URL(url); + } + + public String toString() { + return title; + } + } + + @ActionLayout( + cssClassFa = "fa-external-link" + ) + @Action( + semantics = SemanticsOf.SAFE, + restrictTo = RestrictTo.PROTOTYPING + ) + @MemberOrder(name="Prototyping", sequence="91.1") + public URL goToDocs(@ParameterLayout(named="Link") ExternalLink link) throws MalformedURLException { + return link.open(); + } + +} + http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java new file mode 100644 index 0000000..67425af --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/prototyping/WicketDeveloperUtilities.java @@ -0,0 +1,44 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package webapp.prototyping; + +import org.apache.isis.applib.annotation.ActionLayout; +import org.apache.isis.applib.annotation.DomainService; +import org.apache.isis.applib.annotation.DomainServiceLayout; +import org.apache.isis.applib.annotation.MemberOrder; +import org.apache.isis.viewer.wicket.viewer.applib.WicketDeveloperUtilitiesService; + +/** + * These overrides are simply to 'move' the action underneath the + * 'Prototyping' menu. + */ +@DomainService +@DomainServiceLayout( + menuBar = DomainServiceLayout.MenuBar.SECONDARY, + named = "Prototyping", + menuOrder = "40") +public class WicketDeveloperUtilities extends WicketDeveloperUtilitiesService { + + @ActionLayout(named="Clear i18n Cache") + @MemberOrder(sequence="90.3") + @Override + public void resetI18nCache() { + super.resetI18nCache(); + } + +} + http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/java/webapp/userprof/CustomUserProfileService.java ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/java/webapp/userprof/CustomUserProfileService.java b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/userprof/CustomUserProfileService.java new file mode 100644 index 0000000..62ac918 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/java/webapp/userprof/CustomUserProfileService.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package webapp.userprof; + +import org.apache.isis.applib.annotation.DomainService; +import org.apache.isis.applib.annotation.Programmatic; +import org.apache.isis.applib.services.userprof.UserProfileService; +import org.apache.isis.core.commons.authentication.AuthenticationSession; +import org.apache.isis.core.runtime.system.context.IsisContext; + +/** + * Demonstrates how to provide a custom implementation of the {@link org.apache.isis.applib.services.userprof.UserProfileService}. + */ +@DomainService +public class CustomUserProfileService implements UserProfileService { + + @Override + @Programmatic + public String userProfileName() { + return "Hi " + getAuthenticationSession().getUserName() + "!"; + } + + protected AuthenticationSession getAuthenticationSession() { + return IsisContext.getAuthenticationSession(); + } + +} http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.pdn ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.pdn b/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.pdn new file mode 100644 index 0000000..37543c9 Binary files /dev/null and b/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.pdn differ http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.png ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.png b/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.png new file mode 100644 index 0000000..cd9ecfe Binary files /dev/null and b/mothballed/example/application/todoapp/webapp/src/main/jettyconsole/isis-banner.png differ http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/ToDoApplication_en.properties ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/ToDoApplication_en.properties b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/ToDoApplication_en.properties new file mode 100644 index 0000000..4335021 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/ToDoApplication_en.properties @@ -0,0 +1,52 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + + +# override WicketSignInPage.properties +loginHeader=Login +registerHeader=Register + +# override PageAbstract.properties +aboutLabel=About +logoutLabel=Logout + +# override EntityPropertiesForm.properties and also +# override ActionParametersFormPanel.properties +okLabel=OK +cancelLabel=Cancel +editLabel=Edit + + + + +# +# 3rd-party components +# + +# Select2Choice + +#noMatches=... +#inputTooShortSingular=... +#inputTooShortPlural=... +#loadMore=... +#searching=... + +# datatables +#no-records-found=... + http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/realm1.ini ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/realm1.ini b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/realm1.ini new file mode 100644 index 0000000..1473390 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/realm1.ini @@ -0,0 +1,105 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + + +# ----------------------------------------------------------------------------- +# Users and their assigned roles +# +# Each line conforms to the format defined in the +# org.apache.shiro.realm.text.TextConfigurationRealm#setUserDefinitions JavaDoc +# ----------------------------------------------------------------------------- + +[users] +# user = password, role1, role2, role3, ... + +# +# realm1 configures sven, dick and bob only. Additional logins are configured in realm2 +# + +sven = pass, admin_role +dick = pass, readwrite_role, dashboard_role, analysis_role, self-install_role +bob = pass, readwrite_role, dashboard_role, self-install_role +joe = pass, readwrite_role, self-install_role, noDueBy_role +guest = guest, readonly_role + + + +# +# some additional users/roles +# require IsisPermissionResolver to be configured in shiro.ini, and +# require additional role/perms to be configured below in [roles] +# + +# # fred should have access to everything except the analysis features +# fred = pass,isisperms_all_but_analysis_role +# # bill should have access to everything (the admin role 'trumps' the vetos) +# bill = pass,isisperms_all_but_analysis_role,isisperms_admin_role + + +# ----------------------------------------------------------------------------- +# Roles with assigned permissions +# +# Each line conforms to the format defined in the +# org.apache.shiro.realm.text.TextConfigurationRealm#setRoleDefinitions JavaDoc +# ----------------------------------------------------------------------------- + +[roles] +# role = perm1, perm2, perm3, ... +# perm in format: packageName:className:memberName:r,w + +# +# If using the IsisLdapRealm, it could be pointed at an ini file such as this in +# order to share role/perm mappings. +# + + +# configuring iniRealm to use Shiro's built-in WildcardPermissions + +readwrite_role = *:ToDoItems:*:*,\ + *:ToDoItem:*:* + +readonly_role = *:ToDoItems:notYetComplete:*,\ + *:ToDoItems:complete:*,\ + *:ToDoItems:allToDos:*,\ + *:ToDoItem:*:r + +dashboard_role = *:ToDoAppDashboardService:*:*,\ + *:ToDoAppDashboard:*:* + +analysis_role = *:ToDoItemAnalysis:*:*,\ + *:ToDoItemsByCategoryViewModel:*:*,\ + *:ToDoItemsByDateRangeViewModel:*:* + +self-install_role = *:ToDoItemsFixturesService:*:* + +admin_role = * + + + +# +# some additional role/perms +# require IsisPermissionResolver to be configured in shiro.ini +# + +# isisperms_all_but_analysis_role = aba/*,\ +# !aba/*:ToDoItemAnalysis:*,\ +# !aba/*:ToDoItemsByCategoryViewModel:*:*,\ +# !aba/*:ToDoItemsByDateRangeViewModel:*:* +# isisperms_admin_role = adm/* + http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/welcome.html ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/welcome.html b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/welcome.html new file mode 100644 index 0000000..97b389c --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/resources/webapp/welcome.html @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<p class="intro"> + <a href="http://isis.apache.org" target="_blank">Apache Isis</a>™ is a platform to let you rapidly develop + domain-driven apps in Java. + <br/> + <br/> + This app has been generated using Isis' + <a href="http://isis.apache.org/intro/getting-started/todo%61pp-archetype.html" target="_blank">TodoApp</a> archetype, + which configures Isis' most commonly used components in a straightforward "todo" app. + <br/> + <br/> + The core functionality of the app is provided by the + <a href="https://github.com/apache/isis/blob/master/example/application/todo%61pp/dom/src/main/java/dom/todo/ToDoItem.java" target="_blank">ToDoItem</a> domain class. + Supporting services provide additional capabilities. + <br/> + <br/> + For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Isis website</a>. +</p> http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties new file mode 100644 index 0000000..f3366a7 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/isis.properties @@ -0,0 +1,290 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +################################################################################# +# +# specify system components. +# +# The values correspond to the named components in the installer-registry.properties file +# in the org.apache.isis.core:isis-core-runtime JAR (in the org.apache.isis.core.runtime package) +# +# Although all configuration could reside in isis.properties, the recommendation is +# to split out into component specific files: +# +# xxx_yyy.properties files +# +# where +# * xxx is the component type, and +# * yyy is the component name. +# +# For example, viewer_wicket.properties holds configuration information specific to the Wicket viewer. +# +################################################################################# + + +# +# configure the persistor (object store) to use +# + +# JDO/DataNucleus objectstore +isis.persistor=datanucleus + + + +# +# configure authentication mechanism to use (to logon to the system) +# + +#isis.authentication=bypass +isis.authentication=shiro + + +# +# configure authorization mechanism to use +# + +#isis.authorization=bypass +isis.authorization=shiro + + + + + +################################################################################# +# +# MetaModel +# +# The metamodel typically does not require additional configuration, although +# the system components (defined above) may refine the metamodel for their needs. +# +################################################################################# + + +# +# Additional programming model facet factories, or remove standard facet factories. +# Comma separated list of fully qualified class names. +# +#isis.reflector.facets.include= +#isis.reflector.facets.exclude= + + +# +# Metamodel validation (in addition to that automatically performed by the programming model facet factories) +# Default implementation does nothing. +# +# Use a custom implementation to enforce additional constraints specific to your app/project/company. +# +#isis.reflector.validator=org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault + + + +# +# Whether to allow deprecated annotations/method prefixes (otherwise raise metamodel validation errors). +# If not specified, default is to allow. +# +#isis.reflector.validator.allowDeprecated=false + + + +# +# Implementation to use for reading dynamic layout. Default implementation reads Xxx.layout.json files from classpath. +# +#isis.reflector.layoutMetadataReaders=org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson + + + +# +# patterns for applying CssClassFa facet (font-awesome icons), matching on action names +# +isis.reflector.facet.cssClassFa.patterns=\ + new.*:fa-plus,\ + add.*:fa-plus-square,\ + create.*:fa-plus,\ + update.*:fa-edit,\ + change.*:fa-edit,\ + remove.*:fa-minus-square,\ + move.*:fa-exchange,\ + first.*:fa-star,\ + find.*:fa-search,\ + lookup.*:fa-search,\ + clear.*:fa-remove,\ + previous.*:fa-step-backward,\ + next.*:fa-step-forward,\ + list.*:fa-list, \ + all.*:fa-list, \ + download.*:fa-download, \ + upload.*:fa-upload, \ + execute.*:fa-bolt, \ + run.*:fa-bolt, \ + calculate.*:fa-calculator, \ + verify.*:fa-check-circle, \ + refresh.*:fa-refresh, \ + install.*:fa-wrench + + +# +# patterns for applying CssClass facet (CSS styles), matching on member names +# +isis.reflector.facet.cssClass.patterns=\ + delete.*:btn-warning,\ + .*:btn-default + + +################################################################################# +# +# Value facet defaults +# +# (see also viewer-specific config files, eg viewer_wicket.properties) +# +################################################################################# + +# as used by @Title of a date +isis.value.format.date=dd-MM-yyyy + + + +################################################################################# +# +# Facet Decorators +# +################################################################################# + +# +# Providing such capabilities as i18n +# + +isis.reflector.facet-decorators=org.apache.isis.core.metamodel.facetdecorator.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller + + +################################################################################# +# +# Application Services and fixtures +# +################################################################################# + +# +# Specify the domain services. +# +# These are the most important configuration properties in the system, as they define +# the set of the classes for Isis to instantiate as domain service singletons. +# From these domain service instances the rest of the metamodel is discovered, while the +# end-user gains access to other domain objects by invoking the actions of the domain services. +# +isis.services-installer=configuration-and-annotation +isis.services.ServicesInstallerFromAnnotation.packagePrefix=app,\ + dom.todo,\ + fixture.todo,\ + webapp.userprof,\ + webapp.prototyping + +isis.services = \ + org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions,\ + \ + # customizable exception handling, \ + org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,\ + #,\ + 1:webapp.CustomMementoService,\ + 1:webapp.CustomRepresentationService + + +# Specify the (optional) test fixtures +# +# Fixtures are used to seed the object store with an initial set of data. For the +# in-memory object store, the fixtures are installed on every run. For other +# object stores, they are used only when the object store is first initialized. +# +#isis.fixtures=fixture.todo.scenarios.ToDoItemsRecreateForSven + + +# +# required by EmailServiceDefault +# +#[email protected] +#isis.service.email.sender.password=the.password.for-isis.notification.email.sender.address + + +# +# whether ExceptionRecognizers should also log any recognized exceptions +# (default false; enable for diagnostics/debugging) +# +#isis.services.exceprecog.logRecognizedExceptions=true + + +################################################################################ +# +# Auditing, Publishing, Command +# +################################################################################ + +# +# Whether changes to objects should be audited; if not set, defaults to "none" +# - if not set or set to "none", can explicitly enable using @DomainObject(auditing=Auditing.ENABLED) +# - if set to "all", can explicitly disable using @Object(auditing=Auditing.DISABLED) +# +#isis.services.audit.objects=all|none + +# +# Whether changes to objects should be published; if not set, defaults to "none" +# - if not set or set to "none", can explicitly enable using @DomainObject(publishing=Publishing.ENABLED) +# - if set to "all", can explicitly disable using @Object(publishing=Publishing.DISABLED) +# +#isis.services.publish.objects=all|none + +# +# Whether all (or all non-query only) actions should be published; if not set, defaults to "none" +# - if not set or set to "none", can explicitly enable using @Action(publishing=Publishing.ENABLED) +# - if set to "all", can explicitly disable using @Action(publishing=Publishing.DISABLED) +# +#isis.services.publish.actions=all|none|ignoreQueryOnly + + +# +# Whether all (or all non-query only) actions should be reified as commands; if not set, defaults to "none" +# - if not set or set to "none", can explicitly enable using @Action(command=CommandReification.ENABLED) +# - if set to "all", can explicitly disable using @Action(command=CommandReification.DISABLED) +# +#isis.services.command.actions=all|none|ignoreQueryOnly + + + +################################################################################ +# +# Policies +# +################################################################################# + +# +# Whether editing of object properties is allowed; if not set, defaults to "true" +# - if not set or set to "true", can explicitly disable using @DomainObject(editing=Editing.DISABLED) +# - if set to "false", can explicitly enable using @DomainObject(editing=Editing.ENABLED) +# +#isis.objects.editing=true|false + + + +################################################################################ +# +# Viewer defaults +# +################################################################################# + +#isis.viewers.paged.standalone=30 +#isis.viewers.paged.parented=10 + +#isis.viewers.propertyLayout.labelPosition=LEFT +#isis.viewers.parameterLayout.labelPosition=LEFT http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/logging.properties ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/logging.properties b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/logging.properties new file mode 100644 index 0000000..2eeda2c --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/logging.properties @@ -0,0 +1,220 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +# +# Isis uses log4j is used to provide system logging +# +log4j.rootCategory=INFO, Console +#log4j.rootCategory=DEBUG, Console + + +# The console appender +log4j.appender.Console=org.apache.log4j.ConsoleAppender +log4j.appender.Console.target=System.out +log4j.appender.Console.layout=org.apache.log4j.PatternLayout +log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} [%-20c{1} %-10t %-5p] %m%n + + +# The stderr appender +log4j.appender.Stderr=org.apache.log4j.ConsoleAppender +log4j.appender.Stderr.target=System.err +log4j.appender.Stderr.layout=org.apache.log4j.PatternLayout +log4j.appender.Stderr.layout.ConversionPattern=%d{ABSOLUTE} [%-20c{1} %-10t %-5p] %m%n + + +# other appenders +log4j.appender.File=org.apache.log4j.RollingFileAppender +log4j.appender.File.file=isis.log +log4j.appender.File.append=false +log4j.appender.File.layout=org.apache.log4j.PatternLayout +log4j.appender.File.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p] %m%n + +log4j.appender.sql=org.apache.log4j.FileAppender +log4j.appender.sql.File=./logs/sql.log +log4j.appender.sql.Append=false +log4j.appender.sql.layout=org.apache.log4j.PatternLayout +log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n + +log4j.appender.sqltiming=org.apache.log4j.FileAppender +log4j.appender.sqltiming.File=./logs/sqltiming.log +log4j.appender.sqltiming.Append=false +log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout +log4j.appender.sqltiming.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n + +log4j.appender.jdbc=org.apache.log4j.FileAppender +log4j.appender.jdbc.File=./logs/jdbc.log +log4j.appender.jdbc.Append=false +log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout +log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n + +log4j.appender.connection=org.apache.log4j.FileAppender +log4j.appender.connection.File=./logs/connection.log +log4j.appender.connection.Append=false +log4j.appender.connection.layout=org.apache.log4j.PatternLayout +log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n + +log4j.appender.wicket.i18n=org.apache.log4j.RollingFileAppender +log4j.appender.wicket.i18n.file=./logs/wicket-i18n.log +log4j.appender.wicket.i18n.append=false +log4j.appender.wicket.i18n.layout=org.apache.log4j.PatternLayout +log4j.appender.wicket.i18n.layout.ConversionPattern=%d [%-20c{1} %-10t %-5p] %m%n + + + + + +! turn on the internal log4j debugging flag so we can see what it is doing +#log4j.debug=true + + +# DataNucleus +# the first two log the DML and DDL (if set to DEBUG) +log4j.logger.DataNucleus.Datastore.Native=WARN, Console +log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console +# the remainder can probably be left to WARN +log4j.logger.DataNucleus.Persistence=WARN, Console +log4j.logger.DataNucleus.Transaction=WARN, Console +log4j.logger.DataNucleus.Connection=WARN, Console +log4j.logger.DataNucleus.Query=WARN, Console +log4j.logger.DataNucleus.Cache=WARN, Console +log4j.logger.DataNucleus.MetaData=WARN, Console +log4j.logger.DataNucleus.Datastore=WARN, Console +log4j.logger.DataNucleus.Datastore.Persist=WARN, Console +log4j.logger.DataNucleus.Datastore.Retrieve=WARN, Console +log4j.logger.DataNucleus.General=WARN, Console +log4j.logger.DataNucleus.Lifecycle=WARN, Console +log4j.logger.DataNucleus.ValueGeneration=WARN, Console +log4j.logger.DataNucleus.Enhancer=WARN, Console +log4j.logger.DataNucleus.SchemaTool=ERROR, Console +log4j.logger.DataNucleus.JDO=WARN, Console +log4j.logger.DataNucleus.JPA=ERROR, Console +log4j.logger.DataNucleus.JCA=WARN, Console +log4j.logger.DataNucleus.IDE=ERROR, Console + +log4j.additivity.DataNucleus.Datastore.Native=false +log4j.additivity.DataNucleus.Datastore.Schema=false +log4j.additivity.DataNucleus.Datastore.Persistence=false +log4j.additivity.DataNucleus.Datastore.Transaction=false +log4j.additivity.DataNucleus.Datastore.Connection=false +log4j.additivity.DataNucleus.Datastore.Query=false +log4j.additivity.DataNucleus.Datastore.Cache=false +log4j.additivity.DataNucleus.Datastore.MetaData=false +log4j.additivity.DataNucleus.Datastore.Datastore=false +log4j.additivity.DataNucleus.Datastore.Datastore.Persist=false +log4j.additivity.DataNucleus.Datastore.Datastore.Retrieve=false +log4j.additivity.DataNucleus.Datastore.General=false +log4j.additivity.DataNucleus.Datastore.Lifecycle=false +log4j.additivity.DataNucleus.Datastore.ValueGeneration=false +log4j.additivity.DataNucleus.Datastore.Enhancer=false +log4j.additivity.DataNucleus.Datastore.SchemaTool=false +log4j.additivity.DataNucleus.Datastore.JDO=false +log4j.additivity.DataNucleus.Datastore.JPA=false +log4j.additivity.DataNucleus.Datastore.JCA=false +log4j.additivity.DataNucleus.Datastore.IDE=false + + +# if using log4jdbc-remix as JDBC driver +#log4j.logger.jdbc.sqlonly=DEBUG, sql, Console +#log4j.additivity.jdbc.sqlonly=false +#log4j.logger.jdbc.resultsettable=DEBUG, jdbc, Console +#log4j.additivity.jdbc.resultsettable=false + +#log4j.logger.jdbc.audit=WARN,jdbc, Console +#log4j.additivity.jdbc.audit=false +#log4j.logger.jdbc.resultset=WARN,jdbc +#log4j.additivity.jdbc.resultset=false +#log4j.logger.jdbc.sqltiming=WARN,sqltiming +#log4j.additivity.jdbc.sqltiming=false +#log4j.logger.jdbc.connection=FATAL,connection +#log4j.additivity.jdbc.connection=false + + + +# track Isis/JDO lifecycle integration + +#log4j.logger.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=DEBUG, Console +#log4j.additivity.org.apache.isis.runtimes.dflt.objectstores.jdo.datanucleus.persistence.FrameworkSynchronizer=false + +#log4j.logger.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=DEBUG,Console +#log4j.additivity.org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener=false + + + + +# track Isis/Wicket lifecycle integration + +#log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=DEBUG, Console +#log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis=false + +#log4j.logger.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=INFO,Console +#log4j.additivity.org.apache.isis.viewer.wicket.viewer.integration.isis.IsisContextForWicket=false + + + +# to track Wicket i18n +log4j.logger.org.apache.wicket.Localizer=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.Localizer=false + +log4j.logger.org.apache.wicket.resource.loader.ClassStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.ClassStringResourceLoader=false + +log4j.logger.org.apache.wicket.resource.loader.ComponentStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.ComponentStringResourceLoader=false + +log4j.logger.org.apache.wicket.resource.loader.PackageStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.PackageStringResourceLoader=false + +log4j.logger.org.apache.wicket.resource.loader.BundleStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.BundleStringResourceLoader=false + +log4j.logger.org.apache.wicket.resource.loader.InitializerStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.InitializerStringResourceLoader=false + +log4j.logger.org.apache.wicket.resource.loader.ValidatorStringResourceLoader=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.resource.loader.ValidatorStringResourceLoader=false + +log4j.logger.org.apache.wicket.core.util.resource.locator.ExtensionResourceNameIterator=WARN,Console,wicket.i18n +log4j.additivity.org.apache.wicket.core.util.resource.locator.ExtensionResourceNameIterator=false + + + +# quieten some of the noisier classes in Isis' bootstrapping +log4j.logger.org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder=WARN,Console +log4j.additivity.org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder=false + +log4j.logger.org.apache.isis.core.metamodel.specloader.ServiceInitializer=WARN,Console +log4j.additivity.org.apache.isis.core.metamodel.specloader.ServiceInitializer=false + +log4j.logger.org.apache.isis.core.runtime.services.ServicesInstallerFromConfiguration=WARN,Console +log4j.additivity.org.apache.isis.core.runtime.services.ServicesInstallerFromConfiguration=false + +log4j.logger.org.apache.isis.core.commons.config.IsisConfigurationDefault=WARN,Console +log4j.additivity.org.apache.isis.core.commons.config.IsisConfigurationDefault=false + +log4j.logger.org.apache.isis.core.runtime.installers.InstallerLookupDefault=WARN,Console +log4j.additivity.org.apache.isis.core.runtime.installers.InstallerLookupDefault=false + + + + +# Application-specific logging +log4j.logger.dom.todo.ToDoItem=DEBUG, Stderr +log4j.additivity.dom.todo.ToDoItem=false + +log4j.logger.dom.todo.ToDoItemSubscriptions=DEBUG, Stderr +log4j.additivity.dom.todo.ToDoItemSubscriptions=false \ No newline at end of file http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor.properties ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor.properties b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor.properties new file mode 100644 index 0000000..bcb9348 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor.properties @@ -0,0 +1,129 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +################################################################################# +# +# Persistor +# +################################################################################# + + + +# generally speaking this should not be enabled +isis.persistor.disableConcurrencyChecking=false + + + + +################################################################################# +# +# JDBC configuration +# +################################################################################# + + + +# +# configuration file holding the JDO objectstore's JDBC configuration +# (this is a bit of a hack... just exploiting fact that Isis also loads this file) +# + + +# +# JDBC connection details +# (also update the pom.xml to reference the appropriate JDBC driver) +# + + +# +# HSQLDB in-memory +# +isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver +isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test +isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa +isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword= + +# +# HSQLDB in-memory (using log4jdbc-remix) +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:mem:test +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword= + + + +# +# HSQLDB to file +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword= + +# +# HSQLDB to file (using log4jdbc-remix) +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:hsqldb:file:/tmp/isis-todo-app/hsql-db;hsqldb.write_delay=false;shutdown=true +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword= + + + +# +# PostgreSQL Server +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.postgresql.Driver +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost:5432/isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis + +# +# PostgreSQL Server (using log4jdbc-remix) +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:postgresql://localhost:5432/isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis + + + +# +# MS SQL Server +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis + +# +# MS SQL Server (using log4jdbc-remix) +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=net.sf.log4jdbc.DriverSpy +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:log4jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=isis +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=isis + + + +# +# neo4j +# (experimental; run with '-P neo4j' profile in webapp project) +# +#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties new file mode 100644 index 0000000..a60a733 --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/persistor_datanucleus.properties @@ -0,0 +1,88 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# +# configuration file for the JDO/DataNucleus objectstore +# + +# identifies @PersistenceCapable entities to be eagerly registered +# if move class to other package (eg com.mycompany.myapp.dom) then update +isis.persistor.datanucleus.RegisterEntities.packagePrefix=dom + +# whether to persist the event data as a "clob" or as a "zipped" byte[] +# default is "zipped" +#isis.persistor.datanucleus.PublishingService.serializedForm=zipped + + + +##################################################################### +# +# DataNucleus' configuration +# +# The 'isis.persistor.datanucleus.impl' prefix is stripped off, +# remainder is passed through to DataNucleus +# +##################################################################### + +isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true +isis.persistor.datanucleus.impl.datanucleus.validateTables=true +isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true + + +# +# Require explicit persistence (since entities are Comparable and using ObjectContracts#compareTo). +# see http://www.datanucleus.org/products/accessplatform_3_0/jdo/transaction_types.html +# +isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false + + +# +# How column names are identified +# (http://www.datanucleus.org/products/datanucleus/jdo/orm/datastore_identifiers.html) +# +isis.persistor.datanucleus.impl.datanucleus.identifier.case=PreserveCase + + +# +# L2 cache +# off except if explicitly marked as cacheable +# http://www.datanucleus.org/products/datanucleus/jdo/cache.html +# +isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none +isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE + + + +# +# uncomment to use JNDI rather than direct JDBC +# +#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactoryName=java:comp/env/jdbc/quickstart + +# +# uncomment to use JTA resource +# +#isis.persistor.datanucleus.impl.datanucleus.ConnectionFactory2Name=java:comp/env/jdbc/quickstart-nontx +#isis.persistor.datanucleus.impl.javax.jdo.option.TransactionType=JTA + + + +# +# +# JDBC connection details +# ... are in persistor.properties +# +# http://git-wip-us.apache.org/repos/asf/isis/blob/a4ec0b72/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/shiro.ini ---------------------------------------------------------------------- diff --git a/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/shiro.ini b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/shiro.ini new file mode 100644 index 0000000..07ea04f --- /dev/null +++ b/mothballed/example/application/todoapp/webapp/src/main/webapp/WEB-INF/shiro.ini @@ -0,0 +1,103 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +[main] + +####### +# configure a couple of iniRealms +# (nb: not possible for their .ini files to live in WEB-INF, because Shiro does not +# provide a mechanism to load resources from that location) +####### + +realm1 = org.apache.shiro.realm.text.IniRealm +realm1.resourcePath=classpath:webapp/realm1.ini + + + + +####### +# configure an ldap-based realm +####### + +contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory +contextFactory.url = ldap://localhost:10389 +contextFactory.authenticationMechanism = CRAM-MD5 +contextFactory.systemAuthenticationMechanism = simple +contextFactory.systemUsername = uid=admin,ou=system +contextFactory.systemPassword = secret + +ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm +ldapRealm.contextFactory = $contextFactory + +ldapRealm.searchBase = ou=groups,o=mojo +ldapRealm.groupObjectClass = groupOfUniqueNames +ldapRealm.uniqueMemberAttribute = uniqueMember +ldapRealm.uniqueMemberAttributeValueTemplate = uid={0} + +# optional mapping from physical groups to logical application roles +#ldapRealm.rolesByGroup = \ +# LDN_USERS: user_role,\ +# NYK_USERS: user_role,\ +# HKG_USERS: user_role,\ +# GLOBAL_ADMIN: admin_role,\ +# DEMOS: self-install_role + +# configuring ldapRealm role/perm mappings +# (use same as realm1) +ldapRealm.resourcePath=classpath:webapp/realm1.ini + + +####### +# configure security manager to use realm(s) +####### + +# authenticate/authorize using realm1 +securityManager.realms = $realm1 + + +# or to use ldap with realm1 as a backup... +# (see docs for details of how to setup users/groups in Apache Directory Studio). +#securityManager.realms = $ldapRealm,$realm1 + + +# or to just use this .ini file... +# (would require [users] and [roles] to be set up) +#securityManager.realms = $iniRealm + + + +####### +# optional, configure realm(s) to use Isis' extended permission syntax +# (see webapp/realm1.ini for usage) +####### + +# permissionResolver = org.apache.isis.security.shiro.authorization.IsisPermissionResolver +# realm1.permissionResolver = $permissionResolver +# realm2.permissionResolver = $permissionResolver + + +# ----------------------------------------------------------------------------- +# Users and their assigned roles +# ----------------------------------------------------------------------------- + +[users] +# unused (assuming not configured $iniRealm) + +[roles] +# unused (assuming not configured $iniRealm)
