#91 Added skeleton for naked-objects example using Apache Isis SimpleApp archetype

This commit is contained in:
Ilkka Seppala
2015-07-13 15:19:16 +03:00
parent aa491b2458
commit 5337ecdc35
62 changed files with 5304 additions and 6 deletions

View File

@ -0,0 +1,153 @@
/*
* 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 domainapp.webapp;
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.IRequestParameters;
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;
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;
/**
* As specified in <tt>web.xml</tt>.
*
* <p>
* See:
* <pre>
* &lt;filter>
* &lt;filter-name>wicket&lt;/filter-name>
* &lt;filter-class>org.apache.wicket.protocol.http.WicketFilter&lt;/filter-class>
* &lt;init-param>
* &lt;param-name>applicationClassName&lt;/param-name>
* &lt;param-value>webapp.SimpleApplication&lt;/param-value>
* &lt;/init-param>
* &lt;/filter>
* </pre>
*
*/
public class SimpleApplication extends IsisWicketApplication {
private static final long serialVersionUID = 1L;
/**
* uncomment for a (slightly hacky) way of allowing logins using query args, eg:
*
* <tt>?user=sven&pass=pass</tt>
*
* <p>
* for demos only, obvious.
*/
private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
@Override
protected void init() {
super.init();
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);
IRequestParameters requestParameters = request.getRequestParameters();
final org.apache.wicket.util.string.StringValue user = requestParameters.getParameterValue("user");
final org.apache.wicket.util.string.StringValue password = requestParameters.getParameterValue("pass");
s.signIn(user.toString(), password.toString());
return s;
}
@Override
public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
return super.newWebRequest(servletRequest, filterPath);
}
// else demo mode
try {
String uname = servletRequest.getParameter("user");
if (uname != null) {
servletRequest.getSession().invalidate();
}
} catch (Exception e) {
}
WebRequest request = super.newWebRequest(servletRequest, filterPath);
return request;
}
@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("Simple 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("welcomeMessage")).toInstance(readLines(getClass(), "welcome.html"));
bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance("Simple 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 {
List<String> readLines = Resources.readLines(Resources.getResource(contextClass, resourceName), Charset.defaultCharset());
final String aboutText = Joiner.on("\n").join(readLines);
return aboutText;
} catch (IOException e) {
return "This is a simple app";
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,35 @@
<?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>&trade; is a platform to let you rapidly develop
domain-driven apps in Java.
<br/>
<br/>
This app has been generated using Apache Isis'
<a href="http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html" target="_blank">SimpleApp</a> archetype,
to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
<br/>
<br/>
The app itself consists of a single domain class, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java" target="_blank"><tt>SimpleObject</tt></a>,
along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java" target="_blank"><tt>SimpleObjects</tt></a>.
<br/>
<br/>
For more details, see the <a href="http://isis.apache.org/documentation.html" target="_blank">Apache Isis website</a>.
</p>

View File

@ -0,0 +1,300 @@
# 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
#################################################################################
#
# 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
#################################################################################
#
# 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=domainapp
# additional services/overriding default (@DomainService) implementations
isis.services =
# 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=domainapp.fixture.scenarios.RecreateSimpleObjects
#
# required by EmailServiceDefault
#
#isis.service.email.sender.address=some.valid@email.address
#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
#
# disable to (automatically registered) ExceptionRecognizerCompositeForJdoObjectStore service
# almost all of this service should be registered. Since all exception recognizer implementations
# are consulted in the event of an exception, it's not sufficient to override the implementation
# (in isis.services); instead this configuration property disables this particular implementation.
#
#isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable=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
################################################################################
#
# i18n
#
#################################################################################
#
# force read translations, even if running in prototype mode
#
#isis.services.translation.po.mode=read
################################################################################
#
# Viewer defaults
#
#################################################################################
#
# Specify viewer defaults
#
#isis.viewers.paged.standalone=30
#isis.viewers.paged.parented=10
#isis.viewers.propertyLayout.labelPosition=LEFT
#isis.viewers.parameterLayout.labelPosition=LEFT

View File

@ -0,0 +1,187 @@
# 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
! 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
# 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
# quieten Shiro
log4j.logger.org.apache.shiro.realm.AuthorizingRealm=WARN,Console
log4j.additivity.log4j.logger.org.apache.shiro.realm.AuthorizingRealm=false
# Application-specific logging
log4j.logger.dom.simple.SimpleObject=DEBUG, Stderr
log4j.additivity.dom.simple.SimpleObject=false

View File

@ -0,0 +1,128 @@
# 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-simple-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-simple-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=simple
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=p4ssword
#
# 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=SQLEXPRESS;databaseName=jdo
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=jdo
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=jdopass
#
# neo4j
# (experimental; run with -P neo4j profile in webapp project)
#
#isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=neo4j:neo4j_DB

View File

@ -0,0 +1,93 @@
# 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=domainapp.dom.modules
#
# hook to perform additional initialization when JDO class metadata is loaded
# default implementation will attempt to run 'create schema' for the specified schema.
#
#isis.persistor.datanucleus.classMetadataLoadedListener=org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaFromClassMetadata
# 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.schema.autoCreateAll=true
isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
isis.persistor.datanucleus.impl.datanucleus.schema.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=MixedCase
#
# 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
#
#

View File

@ -0,0 +1,93 @@
#
# 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]
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
ldapRealm.permissionsByRole=\
user_role = *:ToDoItemsJdo:*:*,\
*:ToDoItem:*:*; \
self-install_role = *:ToDoItemsFixturesService:install:* ; \
admin_role = *
# to use ldap...
# (see docs for details of how to setup users/groups in Apache Directory Studio).
#securityManager.realms = $ldapRealm
# to use .ini file
securityManager.realms = $iniRealm
# -----------------------------------------------------------------------------
# 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, ...
sven = pass, admin_role
dick = pass, user_role, self-install_role
bob = pass, user_role, self-install_role
joe = pass, user_role, self-install_role
guest = guest, user_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
user_role = *:SimpleObjects:*:*,\
*:SimpleObject:*:*
self-install_role = *:DomainAppFixtureService:*:*
admin_role = *

View File

@ -0,0 +1,213 @@
##############################################################################
#
# .pot file
#
# Translate this file to each required language and place in WEB-INF, eg:
#
# /WEB-INF/translations-en_US.po
# /WEB-INF/translations-en.po
# /WEB-INF/translations-fr_FR.po
# /WEB-INF/translations-fr.po
# /WEB-INF/translations.po
#
# If the app uses TranslatableString (eg for internationalized validation
# messages), or if the app calls the TranslationService directly, then ensure
# that all text to be translated has been captured by running a full
# integration test suite that exercises all relevant behaviour
#
##############################################################################
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
msgid ".pot file name"
msgstr ".pot file name"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
msgid "Clear translation cache"
msgstr "Clear translation cache"
#: domainapp.dom.modules.simple.SimpleObjects#create()
msgid "Create"
msgstr "Create"
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
msgid "Discoverable"
msgstr "Discoverable"
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
msgid "Domain Objects"
msgstr "Domain Objects"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr "Download Translations"
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr "Exclamation mark is not allowed"
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
msgid "Find By Name"
msgstr "Find By Name"
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
msgid "Fixture script"
msgstr "Fixture script"
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
msgid "Friendly Name"
msgstr "Friendly Name"
#: domainapp.dom.modules.simple.SimpleObject
msgid "General"
msgstr "General"
#: domainapp.dom.app.homepage.HomePageService#homePage()
msgid "Home Page"
msgstr "Home Page"
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
msgid "List All"
msgstr "List All"
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
msgid "Local Name"
msgstr "Local Name"
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
msgid "Lookup"
msgstr "Lookup"
#: domainapp.dom.modules.simple.SimpleObject#name
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr "Name"
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
msgid "New name"
msgstr "New name"
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
msgid "Object"
msgstr "Object"
#: domainapp.dom.modules.simple.SimpleObject#title()
msgid "Object: {name}"
msgstr "Object: {name}"
#: domainapp.dom.app.homepage.HomePageViewModel#objects
msgid "Objects"
msgstr "Objects"
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
msgid "Other"
msgstr "Other"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Parameters"
msgstr "Parameters"
#: domainapp.fixture.DomainAppFixturesService
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr "Prototyping"
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr "Recreate Objects And Return First"
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
msgid "Result"
msgstr "Result"
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
msgid "Result class"
msgstr "Result class"
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
msgid "Result key"
msgstr "Result key"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr "Run Fixture Script"
#: org.apache.isis.applib.fixturescripts.FixtureScript
msgid "Script"
msgstr "Script"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
msgstr "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
#: domainapp.dom.modules.simple.SimpleObjects#title()
msgid "Simple Objects"
msgstr "Simple Objects"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr "Switch To Reading Translations"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr "Switch To Writing Translations"
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
msgid "Type"
msgstr "Type"
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Update Name"
msgstr "Update Name"
#: domainapp.dom.modules.simple.SimpleObject
msgid "name"
msgstr ""
##############################################################################
# end of .pot file
##############################################################################

View File

@ -0,0 +1,208 @@
##############################################################################
#
# .pot file
#
# Translate this file to each required language and place in WEB-INF, eg:
#
# /WEB-INF/translations-en_US.po
# /WEB-INF/translations-en.po
# /WEB-INF/translations-fr_FR.po
# /WEB-INF/translations-fr.po
# /WEB-INF/translations.po
#
# If the app uses TranslatableString (eg for internationalized validation
# messages), or if the app calls the TranslationService directly, then ensure
# that all text to be translated has been captured by running a full
# integration test suite that exercises all relevant behaviour
#
##############################################################################
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
msgid ".pot file name"
msgstr "fichero .pot"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
msgid "Clear translation cache"
msgstr "Limpiar la caché de traducciones"
#: domainapp.dom.modules.simple.SimpleObjects#create()
msgid "Create"
msgstr "Crear"
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
msgid "Discoverable"
msgstr "Descubrible"
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
msgid "Domain Objects"
msgstr "Domain Objects"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr "Descargar traducciones"
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr "No se admite el signo de exclamación"
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
msgid "Find By Name"
msgstr "Buscar por Nombre"
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
msgid "Fixture script"
msgstr "Script de Instalación"
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
msgid "Friendly Name"
msgstr "Nombre común"
#: domainapp.dom.app.homepage.HomePageService#homePage()
msgid "Home Page"
msgstr "Página de Inicio"
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
msgid "List All"
msgstr "Listar Todos"
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
msgid "Local Name"
msgstr "Nombre Local"
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
msgid "Lookup"
msgstr "Buscar"
#: domainapp.dom.modules.simple.SimpleObject#name
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr "Nombre"
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
msgid "New name"
msgstr "Nuevo nombre"
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
msgid "Object"
msgstr "Objeto"
#: domainapp.dom.modules.simple.SimpleObject#title()
msgid "Object: {name}"
msgstr "Objeto: {name}"
#: domainapp.dom.app.homepage.HomePageViewModel#objects
msgid "Objects"
msgstr "Objetos"
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
msgid "Other"
msgstr "Other"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Parameters"
msgstr "Parámetros"
#: domainapp.fixture.DomainAppFixturesService
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr "Prototipo"
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr "Recrear Objetos y Devolver el Primero"
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
msgid "Result"
msgstr "Resultado"
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
msgid "Result class"
msgstr "Clase del resultado"
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
msgid "Result key"
msgstr "Clave del Resultado"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr "Ejecutar Script de Instalación"
#: org.apache.isis.applib.fixturescripts.FixtureScript
msgid "Script"
msgstr "Script"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
msgstr "Parámetros específicos del Script (si hay alguno). El formato depende de la implementación del script (por ejemplo, clave=valor, CSV, JSON, XML, etc.)"
#: domainapp.dom.modules.simple.SimpleObjects#title()
msgid "Simple Objects"
msgstr "Objetos básicos"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr "Cambiar a Lectura de Traducciones"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr "Cambiar a Escritura de Traducciones"
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
msgid "Type"
msgstr "Tipo"
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Update Name"
msgstr "Nombre de la Actualización"
#: domainapp.dom.modules.simple.SimpleObject
msgid "name"
msgstr ""
##############################################################################
# end of .pot file
##############################################################################

View File

@ -0,0 +1,208 @@
##############################################################################
#
# .pot file
#
# Translate this file to each required language and place in WEB-INF, eg:
#
# /WEB-INF/translations-en_US.po
# /WEB-INF/translations-en.po
# /WEB-INF/translations-fr_FR.po
# /WEB-INF/translations-fr.po
# /WEB-INF/translations.po
#
# If the app uses TranslatableString (eg for internationalized validation
# messages), or if the app calls the TranslationService directly, then ensure
# that all text to be translated has been captured by running a full
# integration test suite that exercises all relevant behaviour
#
##############################################################################
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
msgid ".pot file name"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
msgid "Clear translation cache"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#create()
msgid "Create"
msgstr "Creëren"
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
msgid "Discoverable"
msgstr "Discoverable"
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
msgid "Domain Objects"
msgstr "Domain Objects"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
msgid "Find By Name"
msgstr "Zoek op Naam"
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
msgid "Fixture script"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
msgid "Friendly Name"
msgstr ""
#: domainapp.dom.app.homepage.HomePageService#homePage()
msgid "Home Page"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
msgid "List All"
msgstr "Lijst Alle"
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
msgid "Local Name"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
msgid "Lookup"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#name
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr "Naam"
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
msgid "New name"
msgstr "Nieuwe naam"
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
msgid "Object"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#title()
msgid "Object: {name}"
msgstr ""
#: domainapp.dom.app.homepage.HomePageViewModel#objects
msgid "Objects"
msgstr "Objects"
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
msgid "Other"
msgstr "Other"
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Parameters"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
msgid "Result"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
msgid "Result class"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
msgid "Result key"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript
msgid "Script"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#title()
msgid "Simple Objects"
msgstr "Eenvoudige Objecten"
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
msgid "Type"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Update Name"
msgstr "Updaten Naam"
#: domainapp.dom.modules.simple.SimpleObject
msgid "name"
msgstr ""
##############################################################################
# end of .pot file
##############################################################################

View File

@ -0,0 +1,213 @@
##############################################################################
#
# .pot file
#
# Translate this file to each required language and place in WEB-INF, eg:
#
# /WEB-INF/translations-en_US.po
# /WEB-INF/translations-en.po
# /WEB-INF/translations-fr_FR.po
# /WEB-INF/translations-fr.po
# /WEB-INF/translations.po
#
# If the app uses TranslatableString (eg for internationalized validation
# messages), or if the app calls the TranslationService directly, then ensure
# that all text to be translated has been captured by running a full
# integration test suite that exercises all relevant behaviour
#
##############################################################################
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
msgid ".pot file name"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
msgid "Clear translation cache"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#create()
msgid "Create"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
msgid "Discoverable"
msgstr ""
#: org.apache.isis.applib.fixtures.FixtureType#DOMAIN_OBJECTS
msgid "Domain Objects"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
msgid "Download Translations"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Exclamation mark is not allowed"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#findByName()
msgid "Find By Name"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
msgid "Fixture script"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
msgid "Friendly Name"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject
msgid "General"
msgstr "Common"
#: domainapp.dom.app.homepage.HomePageService#homePage()
msgid "Home Page"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#listAll()
msgid "List All"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
msgid "Local Name"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
msgid "Lookup"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#name
#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
msgid "Name"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
msgid "New name"
msgstr ""
#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
msgid "Object"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#title()
msgid "Object: {name}"
msgstr ""
#: domainapp.dom.app.homepage.HomePageViewModel#objects
msgid "Objects"
msgstr ""
#: org.apache.isis.applib.fixtures.FixtureType#OTHER
msgid "Other"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Parameters"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
msgid "Prototyping"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#recreateObjectsAndReturnFirst()
msgid "Recreate Objects And Return First"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#object
msgid "Result"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#className
msgid "Result class"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureResult#key
msgid "Result key"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
msgid "Run Fixture Script"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript
msgid "Script"
msgstr ""
#: domainapp.fixture.DomainAppFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
msgid "Script-specific parameters (if any). The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObjects#title()
msgid "Simple Objects"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
msgid "Switch To Reading Translations"
msgstr ""
#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
msgid "Switch To Writing Translations"
msgstr ""
#: org.apache.isis.applib.fixturescripts.FixtureScript#type
msgid "Type"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject#updateName()
msgid "Update Name"
msgstr ""
#: domainapp.dom.modules.simple.SimpleObject
msgid "name"
msgstr ""
##############################################################################
# end of .pot file
##############################################################################

View File

@ -0,0 +1,66 @@
# 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 Restful Objects viewer
#
# the baseUrl for hrefs in the events generated by the RO EventSerializer
isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl=http://localhost:8080/restful/
# renders param details in the (incorrect) form that they were for GSOC2013 viewers
# isis.viewer.restfulobjects.gsoc2013.legacyParamDetails=true
# whether to honor UI hints, in particular Render(EAGERLY). Defaults to false.
#isis.viewer.restfulobjects.honorUiHints=false
###############################################################################
# Non-standard configuration settings.
#
# If enabled of the following are enabled then the viewer is deviating from the
# RO spec standard; compatibility may be compromised with RO clients.
###############################################################################
# whether to show only object properties for object members
# (on the object representation only)
# Takes precedence over the other 'suppress' below.
#isis.viewer.restfulobjects.objectPropertyValuesOnly=true
# whether to suppress "describedby" links. Defaults to false.
#isis.viewer.restfulobjects.suppressDescribedByLinks=true
# whether to suppress "update" links. Defaults to false.
#isis.viewer.restfulobjects.suppressUpdateLink=true
# whether to suppress "id" json-prop for object members. Defaults to false.
#isis.viewer.restfulobjects.suppressMemberId=true
# whether to suppress "links" json-prop for object members
# (on the object representation only). Defaults to false.
#isis.viewer.restfulobjects.suppressMemberLinks=true
# whether to suppress "extensions" json-prop for object members
# (on the object representation only). Defaults to false.
#isis.viewer.restfulobjects.suppressMemberExtensions=true
# whether to suppress "disabledReason" json-prop for object members
# (on the object representation only). Defaults to false.
#isis.viewer.restfulobjects.suppressMemberDisabledReason=true
###############################################################################

View File

@ -0,0 +1,91 @@
# 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 Wicket viewer
#
#
# The maximum length of titles to display in standalone or parented tables.
# Titles longer than this length will be truncated with trailing ellipses (...)
#
# For example, if set to 12, the title
# "Buy milk on 15-Feb-13" will be truncated to "Buy milk ..."
#
# If set to 0, then only the icon will be shown.
#
isis.viewer.wicket.maxTitleLengthInStandaloneTables=0
isis.viewer.wicket.maxTitleLengthInParentedTables=0
#isis.viewer.wicket.datePattern=dd-MM-yyyy
#isis.viewer.wicket.dateTimePattern=dd-MM-yyyy HH:mm
#isis.viewer.wicket.datePickerPattern=DD-MM-YYYY
#isis.viewer.wicket.datePattern=dd/MM/yy
#isis.viewer.wicket.dateTimePattern=dd/MM/yy HH:mm
#isis.viewer.wicket.datePickerPattern=DD/MM/YY
#
# whether to strip wicket tags from markup (default is true, as they may break some CSS rules)
#
#isis.viewer.wicket.stripWicketTags=false
#
# whether to suppress the 'rememberMe' checkbox on the login page (default is false)
#
#isis.viewer.wicket.suppressRememberMe=false
#
# if user attempts to access a protected URL before signing in, then as a convenience the viewer will continue
# through to that destination after successful login. If you consider this to be a security risk then this flag
# disables that behaviour (default is false).
#
#isis.viewer.wicket.clearOriginalDestination=true
#
# whether to show action dialogs on their own page rather than as a modal dialog (default is false)
#
#isis.viewer.wicket.disableModalDialogs=false
#
# the maximum number of pages to list in bookmark (default is 15)
#
#isis.viewer.wicket.bookmarkedPages.maxSize=15
#
# whether to show the bootstrap theme chooser (defaults false)
#
#isis.viewer.wicket.themes.showChooser=false
isis.viewer.wicket.themes.showChooser=true
#
# comma-separated list of themes to choose from (default is to show all themes from bootswatch.com).
#
#isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
#
# whether to automatically select dependent choice when the choice it depends upon changes.
#
#isis.viewer.wicket.disableDependentChoiceAutoSelection=false

View File

@ -0,0 +1,309 @@
<?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.
-->
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Simple app</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- shiro security configuration -->
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- which configuration directory to read overloaded property files from -->
<!--
Normally configuration like this should be done from outside your web
application. Especially if your configuration is not know in advance or
if it can change depending on where the application gets deployed.
For instance to configure this in Tomcat outside the application WAR add
the following line to your application context ( For more detail see:
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Context_Parameters )
<Parameter name="isis.config.dir" value="/usr/local/tomcat/conf/"
override="true"/>
If your configuration directory is fixed you can enable the following
context parameter in here and forget about the outside part.
<context-param>
<param-name>isis.config.dir</param-name>
<param-value>location of your config directory if fixed</param-value>
</context-param>
-->
<!--
determines which additional configuration files to search for
-->
<context-param>
<param-name>isis.viewers</param-name>
<param-value>wicket,restfulobjects</param-value>
</context-param>
<!--
for diagnostics
-->
<filter>
<filter-name>IsisLogOnExceptionFilter</filter-name>
<filter-class>org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>IsisLogOnExceptionFilter</filter-name>
<url-pattern>/wicket/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>IsisLogOnExceptionFilter</filter-name>
<url-pattern>/restful/*</url-pattern>
</filter-mapping>
<!-- cache static resources for 1 day -->
<filter>
<filter-name>ResourceCachingFilter</filter-name>
<filter-class>org.apache.isis.core.webapp.content.ResourceCachingFilter</filter-class>
<init-param>
<param-name>CacheTime</param-name>
<param-value>86400</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.png</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResourceCachingFilter</filter-name>
<url-pattern>*.swf</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Resource</servlet-name>
<servlet-class>org.apache.isis.core.webapp.content.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Resource</servlet-name>
<url-pattern>*.swf</url-pattern>
</servlet-mapping>
<!--
-
- config specific to the wicket-viewer
-
-->
<filter>
<filter-name>WicketFilter</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>domainapp.webapp.SimpleApplication</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WicketFilter</filter-name>
<url-pattern>/wicket/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>configuration</param-name>
<!--
<param-value>deployment</param-value>
-->
<param-value>development</param-value>
</context-param>
<!--
-
- config specific to the restfulobjects-viewer
-
-->
<!--
THE FOLLOWING CONFIGURATION IS NOT REQUIRED IF THE WICKET VIEWER IS IN USE.
IF THE WICKET VIEWER CONFIGURATION IS REMOVED, THEN UNCOMMENT
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppBootstrapper</listener-class>
</listener>
<context-param>
<param-name>deploymentType</param-name>
<param-value>SERVER_EXPLORATION</param-value>
</context-param>
<context-param>
<param-name>isis.viewers</param-name>
<param-value>restfulobjects</param-value>
</context-param>
-->
<!-- bootstrap the RestEasy framework -->
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<!-- used by RestEasy to determine the JAX-RS resources and other related configuration -->
<context-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
</context-param>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/restful/</param-value>
</context-param>
<!-- authenticate user, set up an Isis session -->
<filter>
<filter-name>IsisSessionFilterForRestfulObjects</filter-name>
<filter-class>org.apache.isis.core.webapp.IsisSessionFilter</filter-class>
<!-- authentication required for REST -->
<init-param>
<param-name>authenticationSessionStrategy</param-name>
<param-value>org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
</init-param>
<init-param>
<!-- what to do if no session was found; we indicate to issue a 401 basic authentication challenge -->
<param-name>whenNoSession</param-name>
<param-value>basicAuthChallenge</param-value>
</init-param>
</filter>
<filter-mapping>
<!-- this is mapped to the entire app; however the IsisSessionFilter will "notice" if the session filter has already been
executed for the request pipeline, and if so will do nothing -->
<filter-name>IsisSessionFilterForRestfulObjects</filter-name>
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
</filter-mapping>
<filter>
<filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
<filter-class>org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects</filter-class>
</filter>
<filter-mapping>
<filter-name>IsisTransactionFilterForRestfulObjects</filter-name>
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RestfulObjectsRestEasyDispatcher</servlet-name>
<url-pattern>/restful/*</url-pattern>
</servlet-mapping>
<!--
uncomment to use container-managed datasource;
for both container-managed (JTA) and non-container-managed transactions
-->
<!--
<resource-ref>
<description>db</description>
<res-ref-name>jdbc/quickstart</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
-->
<!--
uncomment to use container-managed datasource
with container-managed transactions (JTA).
-->
<!--
<resource-ref>
<description>db</description>
<res-ref-name>jdbc/quickstart-nontx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
-->
</web-app>

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
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.
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Apache Isis&trade; SimpleApp</title>
<style type="text/css">
body {
background-color: #1A467B;
font-family: Verdana, Helvetica, Arial;
font-size: 90%;
}
li {
margin-top: 6px;
margin-bottom: 6px;
}
table {
border-collapse: collapse;
}
table, th, td {
border: 1px;
border-style: solid;
border-color: lightgray;
}
th, td {
padding: 10px;
}
#wrapper {
background-color: #ffffff;
width: 900px;
margin: 8px auto;
padding: 12px;
}
</style>
</head>
<body>
<div id="wrapper">
<img alt="Isis Logo" src="about/images/isis-logo.png" />
<p>
This app has been generated using Apache Isis'
<a href="http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html" target="_blank">SimpleApp</a> archetype,
to create a purposefully minimal application that nevertheless includes fixture data, integration tests and BDD specs.
<br/>
<br/>
The app itself consists of a single domain class, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java" target="_blank"><tt>SimpleObject</tt></a>,
along with an equally simple (factory/repository) domain service, <a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java" target="_blank"><tt>SimpleObjects</tt></a>.
</p>
<p>To access the app:</p>
<ul>
<li>
<p>
<b><a href="wicket/">wicket/</a></b>
</p>
<p>
provides accesses to a generic UI for end-users,
Isis' <a href="http://isis.apache.org/components/viewers/wicket/about.html" target="_blank">Wicket Viewer</a>.
As its name suggests, this viewer is built on top of <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a>&trade;.
</p>
</li>
<li>
<p>
<b>
<a href="restful/">restful/</a>
</b>
</p>
<p>
provides access to a RESTful API conformant with the
<a href="http://restfulobjects.org">Restful Objects</a> spec</td>. This is part of Apache Isis Core. The
implementation technology is JBoss RestEasy.
</p>
</li>
</ul>
<p>
The default user/password is <b><i>sven/pass</i></b> (as configured in the
<a href="https://github.com/apache/isis/blob/master/example/application/simple%61pp/webapp/src/main/webapp/WEB-INF/shiro.ini" target="_blank">shiro.ini</a> file).
</p>
</div>
</body>
</html>

View File

@ -0,0 +1,19 @@
/*
* 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.
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,3 @@
$(document).ready(function() {
/// here...
});