You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/03/28 11:35:43 UTC
[19/20] ISIS-381: mothballing HTML viewer, SQL security, LDAP security
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/pom.xml
----------------------------------------------------------------------
diff --git a/component/security/sql/pom.xml b/component/security/sql/pom.xml
deleted file mode 100755
index 1463ac4..0000000
--- a/component/security/sql/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?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.core</groupId>
- <artifactId>isis</artifactId>
- <version>1.1.1-SNAPSHOT</version>
- <relativePath>../../../core/pom.xml</relativePath>
- </parent>
-
- <groupId>org.apache.isis.security</groupId>
- <artifactId>isis-security-sql</artifactId>
- <version>1.0.0-SNAPSHOT</version>
-
- <name>Isis SQL Security</name>
-
- <properties>
- <siteBaseDir>.</siteBaseDir>
- <relativeUrl/>
- </properties>
-
- <!-- used in Site generation for relative references. -->
- <url>http://isis.apache.org/${relativeUrl}</url>
-
- <build>
- <pluginManagement>
- <plugins>
- <!-- Apache Release Audit Tool -->
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>0.8</version>
- <configuration>
- <excludes>
- <!--
- overriding inherited excludes from oia.core:isis
- with a more specific set for this component
- -->
- <exclude>**/target/**</exclude>
- <exclude>**/target-ide/**</exclude>
-
- <exclude>**/*.project</exclude>
- <exclude>**/.classpath</exclude>
- <exclude>**/.settings/**</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>${maven-project-info-reports-plugin}</version>
- <inherited>false</inherited>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
- <reportSets>
- <reportSet>
- <inherited>false</inherited>
- <reports>
- <report>dependencies</report>
- <report>dependency-convergence</report>
- <report>plugins</report>
- <report>summary</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
-
- <dependencyManagement>
- <!-- for benefit of application developers, using scope=import -->
- <dependencies>
- <dependency>
- <groupId>org.apache.isis.security</groupId>
- <artifactId>isis-security-sql</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/appended-resources/supplemental-models.xml
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/appended-resources/supplemental-models.xml b/component/security/sql/src/main/appended-resources/supplemental-models.xml
deleted file mode 100644
index ecd3906..0000000
--- a/component/security/sql/src/main/appended-resources/supplemental-models.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?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. -->
-<supplementalDataModels xmlns="http://maven.apache.org/supplemental-model/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/supplemental-model/1.0.0 http://maven.apache.org/xsd/supplemental-model-1.0.0.xsd">
-
- <supplement>
- <project>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- <version>1.0</version>
- <licenses>
- <license>
- <name>Public Domain</name>
- </license>
- </licenses>
- </project>
- </supplement>
-
- <supplement>
- <!-- not quite sure why licenses:download-license flags this, since license info seems to be in its POM -->
- <project>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-jodatime</artifactId>
- <version>3.1.1</version>
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- </license>
- </licenses>
- </project>
- </supplement>
-
- <supplement>
- <project>
- <groupId>org.scannotation</groupId>
- <artifactId>scannotation</artifactId>
- <version>1.0.3</version>
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- </project>
- </supplement>
-
- <supplement>
- <project>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- <version>1.6.1</version>
- <licenses>
- <license>
- <name>BSD License</name>
- <url>http://dom4j.sourceforge.net/dom4j-1.6.1/license.html</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- </project>
- </supplement>
-
- <supplement>
- <project>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- <version>1.0</version>
- <licenses>
- <license>
- <name>Creative Commons Attribution 2.5 License</name>
- <url>http://creativecommons.org/licenses/by/2.5/</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- </project>
- </supplement>
-
-
- <supplement>
- <project>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>2.7.0</version>
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- </project>
- </supplement>
-
-
-</supplementalDataModels>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
deleted file mode 100755
index 24c7298..0000000
--- a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationConstants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authentication;
-
-public class SqlAuthenticationConstants {
-
- private SqlAuthenticationConstants() {
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
deleted file mode 100755
index 9dc53e2..0000000
--- a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticationManagerInstaller.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authentication;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authentication.AuthenticationManagerStandardInstallerAbstractForDfltRuntime;
-import org.apache.isis.core.runtime.authentication.standard.Authenticator;
-
-public class SqlAuthenticationManagerInstaller extends AuthenticationManagerStandardInstallerAbstractForDfltRuntime {
-
- public static final String NAME = "sql";
-
- public SqlAuthenticationManagerInstaller() {
- super(NAME);
- }
-
- @Override
- protected List<Authenticator> createAuthenticators(final IsisConfiguration configuration) {
- return Lists.<Authenticator> newArrayList(createAuthenticator(configuration));
- }
-
- protected Authenticator createAuthenticator(final IsisConfiguration configuration) {
- final String className = configuration.getString("isis.authentication.authenticator");
- if (className == null) {
- return new SqlAuthenticator(configuration);
- }
- try {
- final Class<?> authenticatorClass = Class.forName(className);
- return (Authenticator) authenticatorClass.getConstructor(IsisConfiguration.class).newInstance(configuration);
- } catch (final ClassNotFoundException e) {
- throw new ApplicationException("Unable to find authenticator class", e);
- } catch (final IllegalArgumentException e) {
- throw new ApplicationException("IllegalArgumentException creating authenticator class", e);
- } catch (final SecurityException e) {
- throw new ApplicationException("SecurityException creating authenticator class", e);
- } catch (final InstantiationException e) {
- throw new ApplicationException("InstantiationException creating authenticator class", e);
- } catch (final IllegalAccessException e) {
- throw new ApplicationException("IllegalAccessException creating authenticator class", e);
- } catch (final InvocationTargetException e) {
- throw new ApplicationException("InvocationTargetException creating authenticator class", e);
- } catch (final NoSuchMethodException e) {
- throw new ApplicationException("NoSuchMethodException creating authenticator class", e);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java b/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
deleted file mode 100755
index 63df436..0000000
--- a/component/security/sql/src/main/java/org/apache/isis/security/sql/authentication/SqlAuthenticator.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authentication;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import com.google.common.base.Strings;
-import com.google.inject.Inject;
-
-import org.apache.log4j.Logger;
-
-import org.apache.isis.applib.ApplicationException;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.authentication.standard.PasswordRequestAuthenticatorAbstract;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class SqlAuthenticator extends PasswordRequestAuthenticatorAbstract {
- private static final Logger LOG = Logger.getLogger(SqlAuthenticator.class);
-
- static SqlAuthenticator instance;
-
- public static SqlAuthenticator getInstance() {
- return instance;
- }
-
- // Override this method if dbPasswords are encoded.
- protected boolean verifyPasswordsAreEqual(final String loginPassword, final String dbPassword) {
- return dbPassword.equals(loginPassword);
- }
-
- // Override this method
- protected ResultSet postProcessLogin(final String user, final String password, final ResultSet results) {
- return results;
- }
-
- // override this method
- protected String getRoles(final ResultSet results, final String roles) {
- try {
- if (userRoleField != null) {
- final String dbRoles = results.getString(userRoleField);
- return roles + "|" + dbRoles;
- }
- } catch (final SQLException e) {
- LOG.warn("Error fetching role", e);
- }
- return roles;
- }
-
- // Override this method, if you want to create data.
- public void initialise() {
- }
-
- static final String PROPERTY_BASE = "isis.authentication.sql";
- static final String USER_TABLE = PROPERTY_BASE + ".userTable";
- static final String USER_TABLE_NAME_FIELD = PROPERTY_BASE + ".userNameField";
- static final String USER_TABLE_PASSWORD_FIELD = PROPERTY_BASE + ".passwordField";
- static final String USER_TABLE_ROLE_FIELD = PROPERTY_BASE + ".roleField";
-
- private Connection connection;
-
- final String passwordField;
- final String userTable;
- final String userNameField;
- final String userRoleField;
-
- public static String getPropertyBase() {
- return PROPERTY_BASE;
- }
-
- public static String getPropertyUserTable() {
- return USER_TABLE;
- }
-
- public static String getPropertyUserTableNameField() {
- return USER_TABLE_NAME_FIELD;
- }
-
- public static String getPropertyUserTablePasswordField() {
- return USER_TABLE_PASSWORD_FIELD;
- }
-
- public static String getPropertyUserTableRoleField() {
- return USER_TABLE_ROLE_FIELD;
- }
-
- @Inject
- public SqlAuthenticator(final IsisConfiguration configuration) {
- super(configuration);
-
- userTable = configuration.getString(USER_TABLE);
- userNameField = configuration.getString(USER_TABLE_NAME_FIELD);
- passwordField = configuration.getString(USER_TABLE_PASSWORD_FIELD);
- userRoleField = configuration.getString(USER_TABLE_ROLE_FIELD);
-
- instance = this;
- }
-
- @Override
- public void init() {
- if (connection != null) {
- LOG.info("close");
- }
-
- final String BASE = PROPERTY_BASE + ".jdbc.";
- final IsisConfiguration params = IsisContext.getConfiguration().getProperties(BASE);
-
- try {
- final String driver = params.getString(BASE + "driver");
- final String url = params.getString(BASE + "connection");
- final String user = params.getString(BASE + "user");
- final String password = params.getString(BASE + "password");
-
- if (connection != null) {
- throw new ApplicationException("Connection already established");
- }
-
- if (driver == null) {
- throw new ApplicationException("No driver specified for database connection");
- }
- if (url == null) {
- throw new ApplicationException("No connection URL specified to database");
- }
- if (user == null) {
- throw new ApplicationException("No user specified for database connection");
- }
- if (password == null) {
- throw new ApplicationException("No password specified for database connection");
- }
-
- Class.forName(driver);
- LOG.info("Connecting to " + url + " as " + user);
- connection = DriverManager.getConnection(url, user, password);
- if (connection == null) {
- throw new ApplicationException("No connection established to " + url);
- }
- } catch (final SQLException e) {
- throw new ApplicationException("Failed to start", e);
- } catch (final ClassNotFoundException e) {
- throw new ApplicationException("Could not find database driver", e);
- }
-
- }
-
- @Override
- public void shutdown() {
- String sql;
- sql = "SHUTDOWN";
- update(sql);
- closeConnection();
- }
-
- private void closeConnection() {
- try {
- connection.close();
- connection = null;
- } catch (final SQLException e) {
- LOG.warn("Failed to close connection:" + e);
- }
- }
-
- @Override
- public final boolean isValid(final AuthenticationRequest request) {
- final AuthenticationRequestPassword passwordRequest = (AuthenticationRequestPassword) request;
- final String username = passwordRequest.getName();
- if (Strings.isNullOrEmpty(username)) {
- return false;
- }
- final String password = passwordRequest.getPassword();
- Assert.assertNotNull(password);
-
- return isPasswordValidForUser(passwordRequest, username, password);
-
- }
-
- private boolean isPasswordValidForUser(final AuthenticationRequest request, final String user, final String password) {
- final ResultSet results = loadUserDetails(user, password);
- if (results != null) {
- final String roles = getRoles(results, "org.apache.isis.viewer.wicket.roles.USER|org.starobjects.wicket.roles.USER");
- setRoles(request, roles);
-
- return true;
- }
- return false;
- }
-
- protected ResultSet loadUserDetails(final String user, final String password) {
- final String sql = "SELECT * FROM " + userTable + " WHERE UPPER(" + userNameField + ") = ?";
- addToQueryValues(user.toUpperCase());
- final ResultSet results = select(sql);
- try {
- while (results.next()) {
- final String dbPassword = results.getString(passwordField);
- if (verifyPasswordsAreEqual(password, dbPassword)) {
- return postProcessLogin(user, password, results);
- }
- }
- } catch (final SQLException e) {
- LOG.error("Error loading user details: " + sql);
- throw new ApplicationException("Error loading user details", e);
- }
-
- return null;
- }
-
- private final void setRoles(final AuthenticationRequest request, final String line) {
- final StringTokenizer tokens = new StringTokenizer(line, "|", false);
- final String[] roles = new String[tokens.countTokens()];
- for (int i = 0; tokens.hasMoreTokens(); i++) {
- roles[i] = tokens.nextToken();
- }
- request.setRoles(Arrays.asList(roles));
- }
-
- public boolean isSetup() {
- return hasTable(userTable);
- }
-
- // {{ JDBC Connection SQL helpers
- protected int update(final String sql) {
- LOG.debug("SQL: " + sql);
- PreparedStatement statement;
- try {
- statement = connection.prepareStatement(sql);
- addPreparedValues(statement);
- final int updateCount = statement.executeUpdate();
- statement.close();
- return updateCount;
- } catch (final SQLException e) {
- LOG.error("failed to execute " + sql, e);
- throw new ApplicationException("Error executing update", e);
- } finally {
- clearPreparedValues();
- }
-
- }
-
- private ResultSet select(final String sql) {
- LOG.debug("SQL: " + sql);
- PreparedStatement statement;
- try {
- statement = connection.prepareStatement(sql);
- addPreparedValues(statement);
- return (statement.executeQuery());
- } catch (final SQLException e) {
- LOG.error("failed to execte select: " + sql, e);
- throw new ApplicationException("Error executing select", e);
- } finally {
- clearPreparedValues();
- }
- }
-
- private final List<Object> queryValues = new ArrayList<Object>();
-
- public String addToQueryValues(final Object o) {
- queryValues.add(o);
- return "?";
- }
-
- private void clearPreparedValues() {
- queryValues.clear();
- }
-
- private void addPreparedValues(final PreparedStatement statement) throws SQLException {
- if (queryValues.size() > 0) {
- int i = 1;
- try {
- for (final Object value : queryValues) {
- statement.setObject(i, value);
- i++;
- }
- } catch (final SQLException e) {
- LOG.error("Error adding prepared value " + i + " of type " + queryValues.get(i - 1).getClass().getSimpleName(), e);
- throw e;
- }
- }
- }
-
- private boolean hasTable(final String tableName) {
- try {
- final ResultSet set = connection.getMetaData().getTables(null, null, tableName, null);
- if (set.next()) {
- LOG.debug("Found " + set.getString("TABLE_NAME"));
- set.close();
- return true;
- } else {
- set.close();
- return false;
- }
- } catch (final SQLException e) {
- LOG.error("failed to find table: " + tableName, e);
- throw new ApplicationException("Error checking for table: " + tableName, e);
- }
- }
-
- // }}
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java b/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
deleted file mode 100755
index 16e78fc..0000000
--- a/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizationManagerInstaller.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authorization;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandardInstallerAbstract;
-import org.apache.isis.core.runtime.authorization.standard.Authorizor;
-
-public class SqlAuthorizationManagerInstaller extends AuthorizationManagerStandardInstallerAbstract {
-
- public static final String NAME = "sql";
-
- public SqlAuthorizationManagerInstaller() {
- super(NAME);
- }
-
- @Override
- protected Authorizor createAuthorizor(final IsisConfiguration configuration) {
- return new SqlAuthorizor(configuration);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java b/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
deleted file mode 100755
index de12010..0000000
--- a/component/security/sql/src/main/java/org/apache/isis/security/sql/authorization/SqlAuthorizor.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authorization;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.runtime.authorization.standard.AuthorizorAbstract;
-
-public class SqlAuthorizor extends AuthorizorAbstract {
- // TODO: Need to implement this class.
-
- // private static final Logger LOG = Logger.getLogger(SqlAuthorizor.class);
-
- public SqlAuthorizor(final IsisConfiguration configuration) {
- super(configuration);
-
- }
-
- // //////////////////////////////////////////////////////////////
- // init, shutdown
- // //////////////////////////////////////////////////////////////
-
- @Override
- public void init() {
- // does nothing
- }
-
- @Override
- public void shutdown() {
- // does nothing
- }
-
- // //////////////////////////////////////////////////////////////
- // API
- // //////////////////////////////////////////////////////////////
-
- @Override
- public boolean isUsableInRole(final String role, final Identifier identifier) {
- return true;
- }
-
- @Override
- public boolean isVisibleInRole(final String user, final Identifier identifier) {
- return true;
- }
-
- @Override
- public boolean isVisibleInAnyRole(Identifier identifier) {
- return true;
- }
-
- @Override
- public boolean isUsableInAnyRole(Identifier identifier) {
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/site.xml
----------------------------------------------------------------------
diff --git a/component/security/sql/src/site.xml b/component/security/sql/src/site.xml
deleted file mode 100755
index 66aa164..0000000
--- a/component/security/sql/src/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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>
-
- <body>
- <breadcrumbs>
- <item name="SQL" href="index.html"/>
- </breadcrumbs>
-
- <menu name="SQL Security">
- <item name="About" href="index.html" />
- <item name="Jottings" href="jottings.html" />
- </menu>
-
- <menu name="Security Modules">
- <item name="Default (No-op)" href="../dflt/index.html" />
- <item name="File" href="../file/index.html" />
- <item name="LDAP" href="../ldap/index.html" />
- <item name="SQL" href="../sql/index.html" />
- </menu>
-
- <menu name="Maven Reports" ref="reports" />
- </body>
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/component/security/sql/src/site/apt/index.apt b/component/security/sql/src/site/apt/index.apt
deleted file mode 100755
index 8451f4c..0000000
--- a/component/security/sql/src/site/apt/index.apt
+++ /dev/null
@@ -1,124 +0,0 @@
-~~ 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.
-
-
-
-Security SQL Implementation
-
- The <SQL security> module is a simple implementation of Isis' authentication and
- authorization APIs, that uses flat SQL tables to store user/passwords/roles (for authentication)
- and role-based permissions (for authorization).
-
- No additional helpers are provided to maintain the SQL tables used, so you will have
- to find your own table viewers/editors to maintain them.
-
- At the moment, authorisation learning has not been implemented.
-
- The SqlAuthenticator classes use jdbc to access the database tables, with no reliance on the
- Isis SqlObjectStore.
-
-
-Alternatives
-
- Alternatives include:
-
- * the {{{../dflt/index.html}default}} (no-op) security implementation, for prototyping use only
-
- * the {{{../file/index.html}file}} security
-
- * the {{{../ldap/index.html}LDAP}} security
-
- See the security
- {{{../docbkx/html/guide/isis-security.html}HTML}} or
- {{{../docbkx/pdf/isis-security.pdf}PDF}} documentation for more details on these others.
-
-Setup
-
- The SQL Authenticator is relatively easy to setup - just add the following to isis.properties:
- Change the connection, userTable, etc, definitions, to reflect that of your configuration.
-
-+--
- isis.authentication=sql
- isis.authentication.sql.jdbc.driver=org.hsqldb.jdbcDriver
-
- # Connection string: e.g.
- isis.authentication.sql.jdbc.connection=jdbc:hsqldb:file:hsql-db/authentication
-
- # Connection authentication
- isis.authentication.sql.jdbc.user=sa
- isis.authentication.sql.jdbc.password=
-
- isis.authentication.sql.userTable=RealNameOfUserTable
- isis.authentication.sql.userNameField=RealFieldThatContainsUsernames
- isis.authentication.sql.passwordField=RealFieldThatContainsPassword
-
- # The following property is optional, for specifying roles:
- # Roles are of the forms ROLE1|ROLE2|ROLE3
- isis.authentication.sql.roleField=RealFieldThatContainsRoles
-
- # Optional: If you wish to override the default SqlAuthenticator, you can specify
- # your own, by providing the fully qualified class name of your class that extends
- # PasswordRequestAuthenticatorAbstract:
- isis.authentication.authenticator=domain.package.MyCustomSqlAuthenticator
-+--
-
- * Operation
-
- The default SqlAuthenticator loads the record set from <<isis.authentication.sql.userTable>> with
- values where <<isis.authentication.sql.userNameField>> matches the login form's username (converted to
- upper-case, so the match is case-<<in>>sensitive).
-
- A simple case-sensitive string comparison is performed to match the login form's password with the value
- in <<isis.authentication.sql.passwordField>>.
-
- If a match is found, the user roles are loaded from the field
- <<isis.authentication.sql.roleField>>, if specified.
-
-Custom Authenticator
-
- If you want to replace or extend the current behaviour, you need to
- extend <<org.apache.isis.security.sql.authentication.SqlAuthenticator>> and optionally override
- whichever of the following methods you need to:
-
-+--
- boolean verifyPasswordsAreEqual(String userPassword, String dbPassword)
- ResultSet postProcessLogin(String user, String password, ResultSet results)
- String getRoles(final ResultSet results, final String roles)
-+--
-
- * <<verifyPasswordsAreEqual>>
-
- Lets you override the default password comparison check, which is a simple <loginPassword.equals(dbPassword)> check.
-
- Use this if your database passwords are encrypted.
-
- This method is called before postProcessLogin, which is only called if this method returns true.
-
- * <<postProcessLogin>>
-
- Lets you perform additional processing to see if the found RecordSet (which has already been verified to match the
- provided username and password, should be allowed to login.
-
- Simply return the results RecordSet, if so, else return null.
-
- * <<getRoles>>
-
- Lets you add additional roles to the default. Simply return your custom roles appended to the provided roles String.
- Separate roles with a "|", e.g. <return roles+"|ROLE1|ROLE2">.
-
- []
-
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/site/apt/jottings.apt
----------------------------------------------------------------------
diff --git a/component/security/sql/src/site/apt/jottings.apt b/component/security/sql/src/site/apt/jottings.apt
deleted file mode 100755
index c5d1200..0000000
--- a/component/security/sql/src/site/apt/jottings.apt
+++ /dev/null
@@ -1,24 +0,0 @@
-~~ 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.
-
-
-
-Jottings
-
- This page is to capture any random jottings relating to this module prior
- to being moved into formal documentation.
-
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/site/site.xml
----------------------------------------------------------------------
diff --git a/component/security/sql/src/site/site.xml b/component/security/sql/src/site/site.xml
deleted file mode 100755
index 66aa164..0000000
--- a/component/security/sql/src/site/site.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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>
-
- <body>
- <breadcrumbs>
- <item name="SQL" href="index.html"/>
- </breadcrumbs>
-
- <menu name="SQL Security">
- <item name="About" href="index.html" />
- <item name="Jottings" href="jottings.html" />
- </menu>
-
- <menu name="Security Modules">
- <item name="Default (No-op)" href="../dflt/index.html" />
- <item name="File" href="../file/index.html" />
- <item name="LDAP" href="../ldap/index.html" />
- <item name="SQL" href="../sql/index.html" />
- </menu>
-
- <menu name="Maven Reports" ref="reports" />
- </body>
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
----------------------------------------------------------------------
diff --git a/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java b/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
deleted file mode 100755
index df7de99..0000000
--- a/component/security/sql/src/test/java/org/apache/isis/security/sql/authentication/SqlAuthenticatorTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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 org.apache.isis.security.sql.authentication;
-
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-
-public class SqlAuthenticatorTest {
- IsisConfigurationDefault configuration;
- SqlAuthenticator saipSqlAuthenticator;
-
- private static final String PASSWORD_FIELD = "password";
- private static final String USERNAME_FIELD = "email";
- private static final String USERS = "USERS";
-
- @Before
- public void setUp() {
- // Setup properties files
- final Properties properties = new Properties();
- properties.setProperty(SqlAuthenticator.USER_TABLE, USERS);
- properties.setProperty(SqlAuthenticator.USER_TABLE_NAME_FIELD, USERNAME_FIELD);
- properties.setProperty(SqlAuthenticator.USER_TABLE_PASSWORD_FIELD, PASSWORD_FIELD);
-
- properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.driver", "org.hsqldb.jdbcDriver");
- properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.connection", "jdbc:hsqldb:file:hsql-db/authenticator-tests");
- properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.user", "sa");
- properties.put(SqlAuthenticator.PROPERTY_BASE + ".jdbc.password", "");
-
- configuration = new IsisConfigurationDefault();
- configuration.add(properties);
-
- // setup configuration
- IsisContext.setConfiguration(configuration);
-
- // Setup database
- String sql;
-
- saipSqlAuthenticator = new SqlAuthenticator(configuration);
- saipSqlAuthenticator.init();
-
- if (saipSqlAuthenticator.isSetup()) { // clear existing data
- sql = "DROP TABLE " + USERS;
- saipSqlAuthenticator.update(sql);
- }
-
- sql = "CREATE TABLE " + USERS + " (" + USERNAME_FIELD + " VARCHAR(32), " + PASSWORD_FIELD + " VARCHAR(32)) ";
- saipSqlAuthenticator.update(sql);
-
- // create data
- sql = "INSERT INTO " + USERS + " VALUES ('user1','password1')";
- saipSqlAuthenticator.update(sql);
-
- }
-
- @Test
- public void VerifyThatIsValidReturnsTrue() {
- final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "password1");
- Assert.assertTrue(saipSqlAuthenticator.isValid(request));
- }
-
- @Test
- public void VerifyThatIsValidReturnsTrueInMixedCase() {
- final AuthenticationRequestPassword request = new AuthenticationRequestPassword("uSer1", "password1");
- Assert.assertTrue(saipSqlAuthenticator.isValid(request));
- }
-
- @Test
- public void VerifyThatIsValidReturnsFalseForNoPassword() {
- final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "");
- Assert.assertFalse(saipSqlAuthenticator.isValid(request));
- }
-
- @Test
- public void VerifyThatIsValidReturnsFalseForWrongPassword() {
- final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user1", "password12");
- Assert.assertFalse(saipSqlAuthenticator.isValid(request));
- }
-
- @Test
- public void VerifyThatIsValidReturnsFalseForWrongUsername() {
- final AuthenticationRequestPassword request = new AuthenticationRequestPassword("user", "password1");
- Assert.assertFalse(saipSqlAuthenticator.isValid(request));
- }
-
- @After
- public void tearDown() {
- saipSqlAuthenticator.shutdown();
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/NOTICE
----------------------------------------------------------------------
diff --git a/component/viewer/html/NOTICE b/component/viewer/html/NOTICE
deleted file mode 100644
index ba21d0c..0000000
--- a/component/viewer/html/NOTICE
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Isis
-Copyright 2010-2013 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/pom.xml
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/pom.xml b/component/viewer/html/impl/pom.xml
deleted file mode 100644
index 4f029ef..0000000
--- a/component/viewer/html/impl/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?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.viewer</groupId>
- <artifactId>isis-viewer-html</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>isis-viewer-html-impl</artifactId>
-
- <name>Isis Html Viewer Implementation</name>
-
- <properties>
- <siteBaseDir>..</siteBaseDir>
- <relativeUrl>html</relativeUrl>
- </properties>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>${maven-project-info-reports-plugin}</version>
- <inherited>false</inherited>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
- <reportSets>
- <reportSet>
- <inherited>false</inherited>
- <reports>
- <report>dependency-convergence</report>
- <report>dependencies</report>
- <report>plugins</report>
- <report>summary</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
-
-
- <dependencies>
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-metamodel</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-unittestsupport</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-integtestsupport</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.isis.viewer</groupId>
- <artifactId>isis-viewer-html-monitoring</artifactId>
- </dependency>
-
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml b/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
deleted file mode 100644
index ad4f63f..0000000
--- a/component/viewer/html/impl/src/docbkx/guide/isis-html-viewer.xml
+++ /dev/null
@@ -1,226 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"file:./src/docbkx/dtd-4.5/docbookx.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.
--->
-<book>
- <bookinfo>
- <title><?eval ${docbkxGuideTitle}?></title>
-
- <subtitle><?eval ${docbkxGuideSubTitle}?></subtitle>
-
- <releaseinfo><?eval ${project.version}?></releaseinfo>
-
- <authorgroup>
- <author>
- <firstname>Robert</firstname>
-
- <surname>Matthews</surname>
- </author>
- </authorgroup>
-
- <legalnotice>
- <para>Permission is granted to make and distribute verbatim copies of
- this manual provided that the copyright notice and this permission
- notice are preserved on all copies.</para>
- </legalnotice>
- </bookinfo>
-
- <!-- front matter -->
-
- <toc></toc>
-
- <preface id="preface">
- <title>Preface</title>
-
- <para><emphasis>Apache Isis</emphasis> is designed to allow programmers
- rapidly develop domain-driven applications following the <ulink
- url="http://en.wikipedia.org/wiki/Naked_Objects">Naked Objects</ulink>
- pattern. It is made up of a core framework plus a number of alternate
- implementations, and supports various viewers and object stores. Apache
- Isis is hosted at the <ulink url="http://incubator.apache.org/isis">Apache
- Foundation</ulink>, and is licensed under <ulink
- url="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software
- License v2</ulink>.</para>
-
- <para>This guide is written for programmers looking to customize,
- configure and deploy <emphasis>Apache Isis</emphasis> applications using
- the <emphasis>HTML viewer</emphasis> as the primary user interface.</para>
- </preface>
-
- <!-- main content -->
-
- <chapter id="chp.Intro">
- <title>Introduction</title>
-
- <abstract>
- <para>*** yada yada</para>
- </abstract>
-
- <sect1>
- <title>***</title>
-
- <para><emphasis>*** yada yada</emphasis></para>
- </sect1>
- </chapter>
-
- <chapter>
- <title>***</title>
-
- <abstract>
- <para>*** yada yada</para>
- </abstract>
-
- <sect1>
- <title>***</title>
-
- <para><emphasis>*** yada yada</emphasis></para>
-
- <sect2>
- <title>Properties</title>
-
- <para>The html viewer has only two properties</para>
-
- <programlisting format="linespecific">isis.viewer.html.debug=true</programlisting>
-
- <para>Which enables debugging on the web controller.</para>
-
- <programlisting format="linespecific">isis.viewer.html.encoding=UTF-8</programlisting>
-
- <para>Which enables the character set encoding used by the
- HTTPServletRequest. This is ISO-8859-1 by default.</para>
-
- <para></para>
-
- <para></para>
- </sect2>
-
- <sect2>
- <title>Reading HTML viewer specific properties</title>
-
- <para></para>
-
- <para></para>
-
- <programlisting><web.xml>
- ...
- <context-param>
- <param-name>isis.viewers</param-name>
- <param-value>html</param-value>
- </context-param>
- ...
-</web.xml></programlisting>
-
- <para>This will cause the viewer_html.properties file to be read if it
- is present.</para>
-
- <para></para>
-
- <para></para>
-
- <para>NB: the value for this parameter is actually comma-separated, to
- allow for multiple viewers to be configured in the same webapp.</para>
-
- <para></para>
- </sect2>
-
- <sect2>
- <title>Hosting multiple viewers at the same time</title>
-
- <para></para>
-
- <para>*** combine the servlet, filter and listener entries.</para>
-
- <para></para>
-
- <para></para>
-
- <para></para>
-
- <para>By default the htmlviewer uses ".app" as the suffix for its .
- this can be changed using the viewer-html.suffix init-param in
- web.xml:</para>
-
- <para></para>
-
- <para>avoid name clashes.</para>
-
- <para></para>
-
- <para></para>
-
- <para></para>
-
- <programlisting><web.xml>
- ...
- <context-param>
- <param-name>viewer-html.suffix</param-name>
- <param-value>htmlviewer</param-value>
- </context-param>
- ...
-</web.xml></programlisting>
-
- <para></para>
-
- <para></para>
-
- <para></para>
- </sect2>
-
- <sect2>
- <title>Debugging</title>
-
- <para>To turn on debuging use the debugon command, e.g.,</para>
-
- <programlisting>http://localhost:8080/debugon.app</programlisting>
-
- <para>A control bar appears a the bottom of the page allowing you to
- display the object graph, specification, connection details and so on.
- To turn it off use the debugoff command:</para>
-
- <programlisting>http://localhost:8080/debugoff.app</programlisting>
-
- <para>The debug pages can be displayed directly by providing the
- commands: debug; spec and dump - along with a object id if necessary.
- For example to view the details about the specification for object 28
- use:</para>
-
- <programlisting>http://localhost:8080/spec.app?id=28</programlisting>
-
- <para></para>
-
- <para></para>
- </sect2>
- </sect1>
- </chapter>
-
- <appendix>
- <title>***</title>
-
- <abstract>
- <para>*** yada yada</para>
- </abstract>
-
- <sect1 id="sec.module-ui">
- <title>***</title>
-
- <para>*** yada yada</para>
- </sect1>
- </appendix>
-</book>
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerConstants.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerConstants.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerConstants.java
deleted file mode 100644
index d59ea24..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html;
-
-import org.apache.isis.core.commons.config.ConfigurationConstants;
-
-public final class HtmlViewerConstants {
-
- public static final String PROPERTY_BASE = ConfigurationConstants.ROOT + "viewer.html.";
- public static final String STYLE_SHEET = PROPERTY_BASE + "style-sheet";
- public static final String HEADER_FILE = PROPERTY_BASE + "header-file";
- /**
- * Used if {@link #HEADER_FILE} is not specified or does not refer to a
- * valid resource.
- */
- public static final String HEADER = PROPERTY_BASE + "header";
- public static final String FOOTER_FILE = PROPERTY_BASE + "footer-file";
- /**
- * Used if {@link #FOOTER_FILE} is not specified or does not refer to a
- * valid resource.
- */
- public static final String FOOTER = PROPERTY_BASE + "footer";
-
- public static final String VIEWER_HTML_RESOURCE_BASE_KEY = PROPERTY_BASE + "resourceBase";
-
- private HtmlViewerConstants() {
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
deleted file mode 100644
index 1d8729e..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/HtmlViewerInstaller.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html;
-
-import org.apache.isis.core.commons.lang.MapUtils;
-import org.apache.isis.core.runtime.Isis;
-import org.apache.isis.core.runtime.installerregistry.installerapi.IsisViewerInstallerAbstract;
-import org.apache.isis.core.runtime.viewer.IsisViewer;
-import org.apache.isis.core.runtime.viewer.web.WebAppSpecification;
-import org.apache.isis.core.runtime.web.EmbeddedWebViewer;
-import org.apache.isis.core.webapp.IsisSessionFilter;
-import org.apache.isis.core.webapp.content.ResourceCachingFilter;
-import org.apache.isis.core.webapp.content.ResourceServlet;
-import org.apache.isis.viewer.html.servlet.ControllerServlet;
-import org.apache.isis.viewer.html.servlet.HtmlServletConstants;
-import org.apache.isis.viewer.html.servlet.LogonServlet;
-
-/**
- * Convenience implementation of a {@link IsisViewer} providing the ability to
- * run a Jetty web server configured for the HTML viewer from the {@link Isis
- * command line}.
- *
- * <p>
- * To run, use the <tt>--viewer html</tt> flag.
- *
- * <p>
- * In a production deployment the configuration represented by the
- * {@link WebAppSpecification} would be specified in the <tt>web.xml<tt> file.
- */
-public class HtmlViewerInstaller extends IsisViewerInstallerAbstract {
-
- private static final String LOGON_PAGE = HtmlServletConstants.LOGON_PAGE;
- private static final String LOGON_PAGE_MAPPED = "/" + LOGON_PAGE;
-
- private static final String[] STATIC_CONTENT = new String[] { "*.gif", "*.png", "*.jpg", "*.css" };
- private static final String DYNAMIC_CONTENT = "*.app";
-
- public HtmlViewerInstaller() {
- super("html");
- }
-
- @Override
- public IsisViewer doCreateViewer() {
- return new EmbeddedWebViewer() {
- @Override
- public WebAppSpecification getWebAppSpecification() {
-
- final WebAppSpecification webAppSpec = new WebAppSpecification();
-
- webAppSpec.addContextParams("isis.viewers", "html");
-
- webAppSpec.addFilterSpecification(IsisSessionFilter.class, MapUtils.asMap(IsisSessionFilter.RESTRICTED_KEY, LOGON_PAGE_MAPPED), DYNAMIC_CONTENT);
- webAppSpec.addServletSpecification(LogonServlet.class, LOGON_PAGE_MAPPED);
- webAppSpec.addServletSpecification(ControllerServlet.class, DYNAMIC_CONTENT);
-
- webAppSpec.addFilterSpecification(ResourceCachingFilter.class, MapUtils.asMap("CacheTime", "86400"), STATIC_CONTENT);
- webAppSpec.addServletSpecification(ResourceServlet.class, STATIC_CONTENT);
-
- final String resourceBaseDir = getConfiguration().getString(HtmlViewerConstants.VIEWER_HTML_RESOURCE_BASE_KEY);
- if (resourceBaseDir != null) {
- webAppSpec.addResourcePath(resourceBaseDir);
- }
- webAppSpec.addResourcePath("./src/main/resources");
- webAppSpec.addResourcePath("./src/main/webapp");
- webAppSpec.addResourcePath("./web");
- webAppSpec.addResourcePath(".");
-
- webAppSpec.setLogHint("open a web browser and browse to logon.app to connect");
-
- return webAppSpec;
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilder.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilder.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilder.java
deleted file mode 100644
index 37ea6db..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilder.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html;
-
-import java.io.Serializable;
-
-public interface PathBuilder extends Serializable {
-
- public String getSuffix();
-
- public String pathTo(final String prefix);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilderDefault.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilderDefault.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilderDefault.java
deleted file mode 100644
index 962507c..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/PathBuilderDefault.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html;
-
-import javax.servlet.ServletContext;
-
-import org.apache.isis.viewer.html.servlet.HtmlServletConstants;
-
-public class PathBuilderDefault implements PathBuilder {
-
- private static final long serialVersionUID = 1L;
-
- private final String suffix;
-
- private static String getSuffixInitParam(final ServletContext servletContext) {
- final String suffixInitParam = servletContext.getInitParameter(HtmlServletConstants.SUFFIX_INIT_PARAM);
- return suffixInitParam != null ? suffixInitParam : HtmlServletConstants.SUFFIX_INIT_PARAM_VALUE_DEFAULT;
- }
-
- public PathBuilderDefault(final ServletContext servletContext) {
- this(getSuffixInitParam(servletContext));
- }
-
- public PathBuilderDefault(final String suffix) {
- this.suffix = suffix;
- }
-
- @Override
- public String getSuffix() {
- return suffix;
- }
-
- @Override
- public String pathTo(final String prefix) {
- final StringBuilder buf = new StringBuilder(prefix);
- if (!prefix.endsWith(".")) {
- buf.append(".");
- }
- buf.append(suffix);
- return buf.toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Action.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Action.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Action.java
deleted file mode 100644
index fab30ba..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Action.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action;
-
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.Request;
-
-public interface Action {
-
- void execute(Request request, Context context, Page page);
-
- String name();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ActionException.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ActionException.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ActionException.java
deleted file mode 100644
index 723392e..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ActionException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public class ActionException extends IsisException {
- private static final long serialVersionUID = 1L;
-
- public ActionException() {
- super();
- }
-
- public ActionException(final String msg, final Throwable cause) {
- super(msg, cause);
- }
-
- public ActionException(final String msg) {
- super(msg);
- }
-
- public ActionException(final Throwable cause) {
- super(cause);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ChangeContext.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ChangeContext.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ChangeContext.java
deleted file mode 100644
index a72df6b..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/ChangeContext.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action;
-
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.Request;
-
-public class ChangeContext implements Action {
-
- @Override
- public void execute(final Request request, final Context context, final Page page) {
- final int id = Integer.valueOf(request.getObjectId()).intValue();
- request.forward(context.changeContext(id));
- }
-
- @Override
- public String name() {
- return "context";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/LogOut.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/LogOut.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/LogOut.java
deleted file mode 100644
index 4cea18c..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/LogOut.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action;
-
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.Request;
-
-public class LogOut implements Action {
- @Override
- public void execute(final Request request, final Context context, final Page page) {
- final AuthenticationSession authSession = IsisContext.getAuthenticationSession();
- if (authSession != null) {
- getAuthenticationManager().closeSession(authSession);
- }
- context.invalidate();
- }
-
- private static AuthenticationManager getAuthenticationManager() {
- return IsisContext.getAuthenticationManager();
- }
-
- @Override
- public String name() {
- return "logout";
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Welcome.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Welcome.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Welcome.java
deleted file mode 100644
index 7d67c92..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/Welcome.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action;
-
-import org.apache.isis.core.runtime.about.AboutIsis;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.component.ViewPane;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.Request;
-
-public class Welcome implements Action {
- public static final String COMMAND = "start";
-
- @Override
- public void execute(final Request request, final Context context, final Page page) {
- page.setTitle("Isis Application");
-
- context.init();
-
- final ViewPane content = page.getViewPane();
- content.setTitle("Welcome", null);
-
- String name = AboutIsis.getApplicationName();
- if (name == null) {
- name = AboutIsis.getFrameworkName();
- }
- content.add(context.getComponentFactory().createInlineBlock("message", "Welcome to " + name + ", accessed via the HTML Viewer", null));
- }
-
- @Override
- public String name() {
- return COMMAND;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/AddItemToCollection.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/AddItemToCollection.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/AddItemToCollection.java
deleted file mode 100644
index 647d12b..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/AddItemToCollection.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action.edit;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.viewer.html.action.Action;
-import org.apache.isis.viewer.html.action.ActionException;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.ForwardRequest;
-import org.apache.isis.viewer.html.request.Request;
-import org.apache.isis.viewer.html.task.AddItemToCollectionTask;
-
-public class AddItemToCollection implements Action {
-
- @Override
- public void execute(final Request request, final Context context, final Page page) {
- final String collectionField = request.getProperty();
-
- final String idString = request.getObjectId();
- if (idString == null) {
- throw new ActionException("Task no longer in progress");
- }
- final ObjectAdapter object = context.getMappedObject(idString);
- final ObjectSpecification specification = object.getSpecification();
- final OneToManyAssociation field = (OneToManyAssociation) specification.getAssociation(collectionField);
- final AddItemToCollectionTask addTask = new AddItemToCollectionTask(context, object, field);
- context.addTaskCrumb(addTask);
- request.forward(ForwardRequest.task(addTask));
- }
-
- @Override
- public String name() {
- return "add";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/91a8000b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/EditObject.java
----------------------------------------------------------------------
diff --git a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/EditObject.java b/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/EditObject.java
deleted file mode 100644
index eb575db..0000000
--- a/component/viewer/html/impl/src/main/java/org/apache/isis/viewer/html/action/edit/EditObject.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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 org.apache.isis.viewer.html.action.edit;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.html.action.Action;
-import org.apache.isis.viewer.html.action.ActionException;
-import org.apache.isis.viewer.html.component.Page;
-import org.apache.isis.viewer.html.context.Context;
-import org.apache.isis.viewer.html.request.ForwardRequest;
-import org.apache.isis.viewer.html.request.Request;
-import org.apache.isis.viewer.html.task.EditTask;
-
-public class EditObject implements Action {
-
- @Override
- public void execute(final Request request, final Context context, final Page page) {
- final String idString = request.getObjectId();
- if (idString == null) {
- throw new ActionException("Task no longer in progress");
- }
- final ObjectAdapter object = context.getMappedObject(idString);
- if (!(object.isTransient())) {
- context.setObjectCrumb(object);
- }
- final EditTask editTask = new EditTask(context, object);
- context.addTaskCrumb(editTask);
- request.forward(ForwardRequest.task(editTask));
- }
-
- @Override
- public String name() {
- return Request.EDIT_COMMAND;
- }
-}