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 2014/01/23 23:16:47 UTC
[1/4] git commit: ISIS-651: minor improvements to core
Updated Branches:
refs/heads/master a6aafd316 -> 5a7379335
ISIS-651: minor improvements to core
... to better support JRebel (in testing Estatio).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2483ca66
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2483ca66
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2483ca66
Branch: refs/heads/master
Commit: 2483ca661ff9536cbaf4b0a94aa6bb9d6922959d
Parents: a6aafd3
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 23 17:08:03 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 23 17:08:03 2014 +0000
----------------------------------------------------------------------
.../metamodel/spec/SpecificationLoaderSpi.java | 2 +
.../specloader/ObjectReflectorDefault.java | 40 ++++++++++++++++++--
.../specloader/SpecificationCacheDefault.java | 14 ++++++-
.../progmodel/facets/ProgrammableReflector.java | 5 ++-
4 files changed, 55 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/2483ca66/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
index 7ad423d..affc3e2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationLoaderSpi.java
@@ -51,4 +51,6 @@ public interface SpecificationLoaderSpi extends ApplicationScopedComponent, Debu
void invalidateCacheFor(Object domainObject);
void invalidateCache(Class<?> domainClass);
+
+ boolean isInitialized();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2483ca66/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
index 426521f..d83d2fb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
@@ -54,6 +54,7 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
import org.apache.isis.core.metamodel.facetdecorator.FacetDecoratorSet;
import org.apache.isis.core.metamodel.facets.object.bounded.ChoicesFacetUtils;
+import org.apache.isis.core.metamodel.facets.object.objecttype.ObjectSpecIdFacet;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
@@ -183,6 +184,8 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
private final SpecificationCacheDefault cache = new SpecificationCacheDefault();
private final ServiceInitializer serviceInitializer = new ServiceInitializer();
+ private boolean initialized = false;
+
// /////////////////////////////////////////////////////////////
// Constructor
@@ -242,6 +245,13 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
validationFailures.assertNone();
cacheBySpecId();
+
+ initialized = true;
+ }
+
+ @Override
+ public boolean isInitialized() {
+ return initialized;
}
/**
@@ -335,6 +345,8 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
public void shutdown() {
LOG.info("shutting down " + this);
+ initialized = false;
+
getCache().clear();
facetDecoratorSet.shutdown();
}
@@ -347,13 +359,27 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
@Override
public void invalidateCache(final Class<?> cls) {
+
+ if(!getCache().isInitialized()) {
+ // could be called by JRebel plugin, before we are up-and-running
+ // just ignore.
+ return;
+ }
final Class<?> substitutedType = getClassSubstitutor().getClass(cls);
+ if(substitutedType.isAnonymousClass()) {
+ // JRebel plugin might call us... just ignore 'em.
+ return;
+ }
+
ObjectSpecification spec = loadSpecification(substitutedType);
while(spec != null) {
final Class<?> type = spec.getCorrespondingClass();
getCache().remove(type.getName());
- recache(spec);
+ if(spec.containsDoOpFacet(ObjectSpecIdFacet.class)) {
+ // umm. Some specs do not have an ObjectSpecIdFacet...
+ recache(spec);
+ }
spec = spec.superclass();
}
}
@@ -396,8 +422,15 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
if(spec == null) {
return null;
}
- if(getCache().isInitialized() && getCache().getByObjectType(spec.getSpecId()) == null) {
- getCache().recache(spec);
+ if(getCache().isInitialized()) {
+ // umm. It turns out that anonymous inner classes (eg org.estatio.dom.WithTitleGetter$ToString$1)
+ // don't have an ObjectSpecId; hence the guard.
+ if(spec.containsDoOpFacet(ObjectSpecIdFacet.class)) {
+ ObjectSpecId specId = spec.getSpecId();
+ if (getCache().getByObjectType(specId) == null) {
+ getCache().recache(spec);
+ }
+ }
}
return spec;
}
@@ -723,4 +756,5 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
}
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2483ca66/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java
index 03a95e2..41c0b7c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java
@@ -25,6 +25,7 @@ import java.util.Map;
import com.google.common.collect.Maps;
+import org.apache.isis.core.metamodel.facets.object.objecttype.ObjectSpecIdFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecId;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
@@ -69,16 +70,25 @@ class SpecificationCacheDefault {
public ObjectSpecification remove(String typeName) {
ObjectSpecification removed = specByClassName.remove(typeName);
if(removed != null) {
- specById.remove(removed.getSpecId());
+ if(removed.containsDoOpFacet(ObjectSpecIdFacet.class)) {
+ // umm. It turns out that anonymous inner classes (eg org.estatio.dom.WithTitleGetter$ToString$1)
+ // don't have an ObjectSpecId; hence the guard.
+ ObjectSpecId specId = removed.getSpecId();
+ specById.remove(specId);
+ }
}
return removed;
}
/**
- *
* @param spec
*/
public void recache(ObjectSpecification spec) {
+ if(!isInitialized()) {
+ // JRebel plugin might call this before we are actually up and running;
+ // just ignore.
+ return;
+ }
specById.put(spec.getSpecId(), spec);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2483ca66/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableReflector.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableReflector.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableReflector.java
index c5e52f3..0064b0f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableReflector.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableReflector.java
@@ -160,6 +160,9 @@ public class ProgrammableReflector implements SpecificationLoaderSpi, Applicatio
public void invalidateCache(Class<?> domainClass) {
}
-
+ @Override
+ public boolean isInitialized() {
+ return false;
+ }
}
[3/4] git commit: ISIS-651: adding a .launch for todo app also.
Posted by da...@apache.org.
ISIS-651: adding a .launch for todo app also.
In addition:
- delete the rebel.xml files checked in for simple app
- update .gitignore to ignore rebel.xml files.
- minor tidy up of ToDoItem
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e59219c6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e59219c6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e59219c6
Branch: refs/heads/master
Commit: e59219c6c08f313f293e0c6cc2c39e8eb8e8eb39
Parents: 9b937be
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 23 21:58:55 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 23 21:58:55 2014 +0000
----------------------------------------------------------------------
.gitignore | 2 ++
.../dom/src/main/java/dom/todo/ToDoItem.java | 23 +++++++++++++------
.../launch/ToDoApp-PROTOTYPE-jrebel.launch | 24 ++++++++++++++++++++
.../dom/src/main/resources/rebel.xml | 9 --------
.../launch/SimpleApp-PROTOTYPE-jrebel.launch | 2 +-
.../webapp/src/main/resources/rebel.xml | 21 -----------------
6 files changed, 43 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index ab593ae..14dfced 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,5 @@ pom.xml.versionsBackup
JArchitectOut/
core/integtestsupport/fixture-data
+
+rebel.xml
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index 24ae46b..3dbd130 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -50,6 +50,7 @@ import org.apache.isis.applib.annotation.Bulk.AppliesTo;
import org.apache.isis.applib.annotation.Bulk.InteractionContext;
import org.apache.isis.applib.annotation.Bulk.InteractionContext.InvokedAs;
import org.apache.isis.applib.annotation.Disabled;
+import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.MinLength;
import org.apache.isis.applib.annotation.Named;
@@ -63,6 +64,8 @@ import org.apache.isis.applib.annotation.RegEx;
import org.apache.isis.applib.annotation.SortedBy;
import org.apache.isis.applib.annotation.TypicalLength;
import org.apache.isis.applib.clock.Clock;
+import org.apache.isis.applib.security.RoleMemento;
+import org.apache.isis.applib.security.UserMemento;
import org.apache.isis.applib.services.scratchpad.Scratchpad;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.TitleBuffer;
@@ -604,8 +607,21 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
this.scratchpad = scratchpad;
}
+
// //////////////////////////////////////
+ // OpenSourceCodeOnGithub (action)
+ // //////////////////////////////////////
+
+ @Prototype
+ @ActionSemantics(Of.SAFE)
+ @MemberOrder(sequence="94")
+ public URL openSourceCodeOnGithub() throws MalformedURLException {
+ return new URL("https://github.com/apache/isis/tree/master/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java");
+ }
+
+
+ // //////////////////////////////////////
// Programmatic Helpers
// //////////////////////////////////////
@@ -762,12 +778,5 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// this.location = location;
// }
-
- @Prototype
- @ActionSemantics(Of.SAFE)
- @MemberOrder(name="Prototyping", sequence="94")
- public URL openSourceCodeOnGithub() throws MalformedURLException {
- return new URL("https://github.com/apache/isis/tree/master/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java");
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
new file mode 100644
index 0000000..e511fc0
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/ide/eclipse/launch/ToDoApp-PROTOTYPE-jrebel.launch
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 --type SERVER_PROTOTYPE"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="quickstart_wicket_restful_jdo-webapp"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="${jrebel_args} -Drebel.log=true -Drebel.plugins=c:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar -Disis-jrebel-plugin.packagePrefix=dom.todo -Disis-jrebel-plugin.loggingLevel=warn"/>
+</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/example/application/simple_wicket_restful_jdo/dom/src/main/resources/rebel.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/dom/src/main/resources/rebel.xml b/example/application/simple_wicket_restful_jdo/dom/src/main/resources/rebel.xml
deleted file mode 100644
index 7fcb2f4..0000000
--- a/example/application/simple_wicket_restful_jdo/dom/src/main/resources/rebel.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
-
- <classpath>
- <dir name="C:/APACHE/isis-git-rw/example/application/simple_wicket_restful_jdo/dom/target-ide/classes">
- </dir>
- </classpath>
-
-</application>
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/example/application/simple_wicket_restful_jdo/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE-jrebel.launch
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE-jrebel.launch b/example/application/simple_wicket_restful_jdo/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE-jrebel.launch
index 6cb899f..5fb0838 100644
--- a/example/application/simple_wicket_restful_jdo/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE-jrebel.launch
+++ b/example/application/simple_wicket_restful_jdo/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE-jrebel.launch
@@ -27,5 +27,5 @@
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--port 8080 --type PROTOTYPE"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="simple_wicket_restful_jdo-webapp"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="${jrebel_args} -Drebel.log=false -Drebel.plugins=c:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar -Disis-jrebel-plugin.packagePrefix=dom.simple"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="${jrebel_args} -Drebel.log=false -Drebel.plugins=c:/github/danhaywood/isis-jrebel-plugin/target/danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar -Disis-jrebel-plugin.packagePrefix=dom.simple -Disis-jrebel-plugin.loggingLevel=warn"/>
</launchConfiguration>
http://git-wip-us.apache.org/repos/asf/isis/blob/e59219c6/example/application/simple_wicket_restful_jdo/webapp/src/main/resources/rebel.xml
----------------------------------------------------------------------
diff --git a/example/application/simple_wicket_restful_jdo/webapp/src/main/resources/rebel.xml b/example/application/simple_wicket_restful_jdo/webapp/src/main/resources/rebel.xml
deleted file mode 100644
index c65bad2..0000000
--- a/example/application/simple_wicket_restful_jdo/webapp/src/main/resources/rebel.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
-
- <classpath>
- <dir name="C:/APACHE/isis-git-rw/example/application/simple_wicket_restful_jdo/webapp/target-ide/classes">
- </dir>
- </classpath>
-
- <web>
- <link target="/">
- <dir name="C:/APACHE/isis-git-rw/example/application/simple_wicket_restful_jdo/webapp/target-ide/m2e-wtp/web-resources">
- <exclude name="/"/>
- </dir>
- </link>
- <link target="/">
- <dir name="C:/APACHE/isis-git-rw/example/application/simple_wicket_restful_jdo/webapp/src/main/webapp">
- </dir>
- </link>
- </web>
-
-</application>
[4/4] git commit: ISIS-656: fixing role memento for shiro
Posted by da...@apache.org.
ISIS-656: fixing role memento for shiro
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5a737933
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5a737933
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5a737933
Branch: refs/heads/master
Commit: 5a7379335f59e408b5a28ceb488e2d3ef6e65a03
Parents: e59219c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 23 22:16:05 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 23 22:16:05 2014 +0000
----------------------------------------------------------------------
.../isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/5a737933/component/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java
----------------------------------------------------------------------
diff --git a/component/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java b/component/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java
index b08cd1a..39e2fd6 100644
--- a/component/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java
+++ b/component/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroAuthenticatorOrAuthorizor.java
@@ -166,7 +166,7 @@ public class ShiroAuthenticatorOrAuthorizor implements Authenticator, Authorizor
/**
* This method has protected visibility to allow for custom implementations
* in the future that might obtain the list of roles for a principal from
- * somewherte other than Shiro's {@link RealmSecurityManager}.
+ * somewhere other than Shiro's {@link RealmSecurityManager}.
*/
protected List<String> getRoles(final AuthenticationToken token) {
final List<String> roles = Lists.newArrayList();
@@ -178,7 +178,7 @@ public class ShiroAuthenticatorOrAuthorizor implements Authenticator, Authorizor
final Collection<Realm> realms = securityManager.getRealms();
for (final Realm realm : realms) {
- if(realm.supports(token)) {
+ if(!realm.supports(token)) {
continue;
}
final AuthenticationInfo authenticationInfo = realm.getAuthenticationInfo(token);
[2/4] git commit: ISIS-486: double checking URL return value...
Posted by da...@apache.org.
ISIS-486: double checking URL return value...
... for actions that take params.
Have done this by minor refactor to the ToDo app.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9b937be9
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9b937be9
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9b937be9
Branch: refs/heads/master
Commit: 9b937be97f92e50fe4bc1f9762572a343e92adb1
Parents: 2483ca6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 23 17:10:12 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 23 17:10:12 2014 +0000
----------------------------------------------------------------------
.../prototyping/ExternalLinksService.java | 33 ++++++++++++++------
1 file changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/9b937be9/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
index 29dbc07..cf4b797 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
@@ -20,24 +20,39 @@ import java.net.MalformedURLException;
import java.net.URL;
import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.Prototype;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.MemberOrder;
public class ExternalLinksService {
- @Prototype
- @ActionSemantics(Of.SAFE)
- @MemberOrder(name="Prototyping", sequence="93")
- public URL openIsisDocumentation() throws MalformedURLException {
- return new URL("http://isis.apache.org/documentation.html");
+ public static enum ExternalLink {
+ ISIS_DOCUMENTATION("Apache Isis docs", "http://isis.apache.org/documentation.html"),
+ PROJECT_ON_GITHUB("Project source code on Github", "https://github.com/apache/isis/tree/master/example/application/quickstart_wicket_restful_jdo/");
+
+ private final String title;
+ private final String url;
+
+ private ExternalLink(final String title, final String url) {
+ this.title = title;
+ this.url = url;
+ }
+
+ public URL open() throws MalformedURLException {
+ return new URL(url);
+ }
+
+ public String toString() {
+ return title;
+ }
}
-
+
@Prototype
@ActionSemantics(Of.SAFE)
- @MemberOrder(name="Prototyping", sequence="94")
- public URL openProjectOnGithub() throws MalformedURLException {
- return new URL("https://github.com/apache/isis/tree/master/example/application/quickstart_wicket_restful_jdo/");
+ @MemberOrder(name="Prototyping", sequence="93")
+ public URL goToDocs(@Named("Link") ExternalLink link) throws MalformedURLException {
+ return link.open();
}
}