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/07/15 15:32:01 UTC
[1/3] git commit: ISIS-457 - New annotation @CssClass for class
member, should render in the HTML markup for that member.
Updated Branches:
refs/heads/master 002266d54 -> 4fce57533
ISIS-457 - New annotation @CssClass for class member, should render in the HTML markup for that member.
Signed-off-by: Dan Haywood <da...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/57807846
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/57807846
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/57807846
Branch: refs/heads/master
Commit: 5780784675ee5439b4d740e57073dca4a5d72bfa
Parents: 002266d
Author: bibryam <bi...@gmail.com>
Authored: Sun Jul 14 20:28:05 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Jul 15 13:32:56 2013 +0100
----------------------------------------------------------------------
.../components/collection/CollectionPanel.java | 2 +-
.../collections/EntityCollectionsPanel.java | 13 ++++--
.../entity/combined/EntityCombinedPanel.java | 6 +++
.../components/scalars/ScalarPanelAbstract.java | 8 ++++
.../scalars/primitive/BooleanPanel.java | 2 -
.../components/widgets/cssmenu/CssMenuItem.java | 40 ++++++++++++++---
.../apache/isis/applib/annotation/CssClass.java | 38 ++++++++++++++++
.../facets/members/cssclass/CssClassFacet.java | 32 +++++++++++++
.../members/cssclass/CssClassFacetAbstract.java | 35 +++++++++++++++
.../metamodel/spec/ObjectSpecification.java | 10 ++++-
.../specimpl/ObjectSpecificationAbstract.java | 7 +++
.../CssClassAnnotationOnMemberFacetFactory.java | 47 ++++++++++++++++++++
.../CssClassFacetAnnotationOnMember.java | 30 +++++++++++++
.../CssClassAnnotationForTypeFacetFactory.java | 45 +++++++++++++++++++
.../CssClassFacetForTypeAnnotation.java | 31 +++++++++++++
.../dflt/ProgrammingModelFacetsJava5.java | 4 ++
.../testspec/ObjectSpecificationStub.java | 5 +++
...ClassAnnotationOnMemberFacetFactoryTest.java | 45 +++++++++++++++++++
...sClassAnnotationForTypeFacetFactoryTest.java | 39 ++++++++++++++++
19 files changed, 424 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index b6065df..fd29193 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -69,7 +69,7 @@ public class CollectionPanel extends PanelAbstract<EntityCollectionModel> {
final WebMarkupContainer markupContainer = new WebMarkupContainer(ID_COLLECTION);
final Component collectionContents = getComponentFactoryRegistry().addOrReplaceComponent(markupContainer, ComponentType.COLLECTION_CONTENTS, getModel());
-
+
addOrReplace(new ComponentFeedbackPanel(ID_FEEDBACK, collectionContents));
addOrReplace(markupContainer);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java
index ede810a..6393798 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collections/EntityCollectionsPanel.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.wicket.ui.components.entity.collections;
import java.util.List;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
@@ -75,10 +77,9 @@ public class EntityCollectionsPanel extends PanelAbstract<EntityModel> {
}
private void addCollections() {
- final EntityModel entityModel = (EntityModel) getModel();
+ final EntityModel entityModel = getModel();
final ObjectAdapter adapter = entityModel.getObject();
final ObjectSpecification noSpec = adapter.getSpecification();
-
final List<ObjectAssociation> associations = visibleAssociations(adapter, noSpec);
final RepeatingView collectionRv = new RepeatingView(ID_COLLECTIONS);
@@ -98,7 +99,11 @@ public class EntityCollectionsPanel extends PanelAbstract<EntityModel> {
private void addCollectionToForm(final EntityModel entityModel,
final ObjectAssociation association,
final WebMarkupContainer collectionRvContainer) {
-
+
+ final CssClassFacet facet = association.getFacet(CssClassFacet.class);
+ if(facet != null) {
+ collectionRvContainer.add(new CssClassAppender(facet.value()));
+ }
final WebMarkupContainer fieldset = new WebMarkupContainer(ID_COLLECTION_GROUP);
collectionRvContainer.add(fieldset);
@@ -128,7 +133,7 @@ public class EntityCollectionsPanel extends PanelAbstract<EntityModel> {
}
private EntityModel getEntityModel() {
- return (EntityModel) getModel();
+ return getModel();
}
void toViewMode(final AjaxRequestTarget target) {
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
index 844e1b1..2bb55be 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
@@ -19,9 +19,11 @@
package org.apache.isis.viewer.wicket.ui.components.entity.combined;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
/**
* {@link PanelAbstract Panel} to represent an entity on a single page made up
@@ -38,6 +40,10 @@ public class EntityCombinedPanel extends PanelAbstract<EntityModel> {
private void buildGui() {
final EntityModel model = getModel();
+ final CssClassFacet facet = model.getObject().getSpecification().getFacet(CssClassFacet.class);
+ if(facet != null) {
+ this.add(new CssClassAppender(facet.value()));
+ }
addOrReplace(ComponentType.ENTITY_SUMMARY, model);
addOrReplace(ComponentType.ENTITY_PROPERTIES, model);
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index eedff4d..b3cf481 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -23,6 +23,8 @@ import java.util.List;
import com.google.common.collect.Lists;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.behavior.AttributeAppender;
@@ -174,6 +176,12 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
if (cssForMetaModel != null) {
add(new AttributeAppender("class", Model.of(cssForMetaModel), " "));
}
+
+ ScalarModel model = getModel();
+ final CssClassFacet facet = model.getFacet(CssClassFacet.class);
+ if(facet != null) {
+ add(new CssClassAppender(facet.value()));
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 54a660d..226d7e4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -21,11 +21,9 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
-import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.FormComponentLabel;
-import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
index bfd3a09..af86678 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
@@ -27,6 +27,7 @@ import java.util.List;
import com.google.common.collect.Lists;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -60,6 +61,10 @@ public class CssMenuItem implements Serializable {
public static final String ID_MENU_LINK = "menuLink";
+ public void setCssClass(String cssClass) {
+ this.cssClass = cssClass;
+ }
+
public static class Builder {
private final CssMenuItem cssMenuItem;
@@ -114,6 +119,10 @@ public class CssMenuItem implements Serializable {
return this;
}
+ public void withCssClass(String cssClass) {
+ cssMenuItem.setCssClass(cssClass);
+ }
+
/**
* Returns the built {@link CssMenuItem}, associating with
* {@link #parent(CssMenuItem) parent} (if specified).
@@ -124,8 +133,6 @@ public class CssMenuItem implements Serializable {
}
return cssMenuItem;
}
-
-
}
private final String name;
@@ -143,6 +150,7 @@ public class CssMenuItem implements Serializable {
static final String ID_SUB_MENU_ITEMS = "subMenuItems";
private String actionIdentifier;
+ private String cssClass;
@@ -262,13 +270,23 @@ public class CssMenuItem implements Serializable {
// check whether enabled
final Consent usability = objectAction.isUsable(session, adapter, where);
final String reasonDisabledIfAny = usability.getReason();
-
+ CssClassFacet cssClassFacet = objectAction.getFacet(CssClassFacet.class);
+
// check if returns blob or clob (if so, then add CSS to suppress veil)
final boolean blobOrClob = returnsBlobOrClob(objectAction);
final boolean prototype = isExplorationOrPrototype(objectAction);
final String actionIdentifier = actionIdentifierFor(objectAction);
- return newSubMenuItem(actionLabel).link(link).enabled(reasonDisabledIfAny).returnsBlobOrClob(blobOrClob).prototyping(prototype).withActionIdentifier(actionIdentifier);
+ Builder builder = newSubMenuItem(actionLabel)
+ .link(link)
+ .enabled(reasonDisabledIfAny)
+ .returnsBlobOrClob(blobOrClob)
+ .prototyping(prototype)
+ .withActionIdentifier(actionIdentifier);
+ if (cssClassFacet != null) {
+ builder.withCssClass(cssClassFacet.value());
+ }
+ return builder;
}
public static boolean returnsBlobOrClob(final ObjectAction objectAction) {
@@ -293,7 +311,7 @@ public class CssMenuItem implements Serializable {
final String className = action.getOnType().getShortIdentifier();
final String actionId = action.getId();
- return className+"-"+actionId;
+ return className + "-" + actionId;
}
@@ -306,8 +324,13 @@ public class CssMenuItem implements Serializable {
final AbstractLink link = linkAndLabel.getLink();
final String actionLabel = linkAndLabel.getLabel();
+ Builder builder = this.newSubMenuItem(actionLabel).link(link).prototyping(linkAndLabel.isPrototype());
- return this.newSubMenuItem(actionLabel).link(link).prototyping(linkAndLabel.isPrototype());
+ CssClassFacet cssClassFacet = objectAction.getFacet(CssClassFacet.class);
+ if (cssClassFacet != null) {
+ builder.withCssClass(cssClassFacet.value());
+ }
+ return builder;
}
// //////////////////////////////////////////////////////////////
@@ -337,8 +360,11 @@ public class CssMenuItem implements Serializable {
if(this.prototype) {
link.add(new CssClassAppender("prototype"));
}
+ if(this.cssClass != null) {
+ link.add(new CssClassAppender(this.cssClass));
+ }
link.add(new CssClassAppender(this.actionIdentifier));
-
+
// .. and hide label
Components.permanentlyHide(markupContainer, CssMenuItem.ID_MENU_LABEL);
return link;
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClass.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClass.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClass.java
new file mode 100644
index 0000000..b33694e
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClass.java
@@ -0,0 +1,38 @@
+/*
+ * 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.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates the css class that a class/property/action should have.
+ */
+
+@Inherited
+@Target({ ElementType.METHOD, ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface CssClass {
+ String value();
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacet.java
new file mode 100644
index 0000000..b2d9ce3
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacet.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.members.cssclass;
+
+import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
+
+/**
+ * The css class of a class, a property, collection, or an action.
+ *
+ * <p>
+ * In the standard Apache Isis Programming Model, corresponds to annotating the
+ * member with <tt>@CssClass</tt>.
+ */
+public interface CssClassFacet extends SingleStringValueFacet {
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetAbstract.java
new file mode 100644
index 0000000..76dd19e
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetAbstract.java
@@ -0,0 +1,35 @@
+/*
+ * 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.core.metamodel.facets.members.cssclass;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
+
+public class CssClassFacetAbstract extends SingleStringValueFacetAbstract implements CssClassFacet {
+
+ public CssClassFacetAbstract(final String value, final FacetHolder holder) {
+ super(type(), holder, value);
+ }
+
+ public static Class<? extends Facet> type() {
+ return CssClassFacet.class;
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
index 553db32..76a9c55 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
@@ -101,7 +101,7 @@ public interface ObjectSpecification extends Specification, ObjectActionContaine
* {@link ClassSubstitutor class name substituted} if necessary to allow for runtime bytecode enhancement.
*
* <p>
- * The {@link ObjectSpecification} can be retrieved using {@link SpecificationLoader#lookupBySpecId(String)}.
+ * The {@link ObjectSpecification} can be retrieved using {@link SpecificationLoader#lookupBySpecId(ObjectSpecId)}.
*/
ObjectSpecId getSpecId();
@@ -161,6 +161,14 @@ public interface ObjectSpecification extends Specification, ObjectActionContaine
String getHelp();
/**
+ * Returns a css class name of the specification.
+ *
+ * <p>
+ * Corresponds to the {@link CssClass#value()) value} of {@link CssClassFacet};
+ */
+ String getCssClass();
+
+ /**
* Returns the title string for the specified object.
*
* <p>
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 2a0fce8..c8dc0e0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -28,6 +28,7 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.log4j.Logger;
import org.apache.isis.applib.Identifier;
@@ -494,6 +495,12 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
}
@Override
+ public String getCssClass() {
+ final CssClassFacet cssClassFacet = getFacet(CssClassFacet.class);
+ return cssClassFacet == null ? null : cssClassFacet.value();
+ }
+
+ @Override
public Persistability persistability() {
return persistability;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactory.java
new file mode 100644
index 0000000..7e20e37
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactory.java
@@ -0,0 +1,47 @@
+/*
+ * 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.core.progmodel.facets.members.cssclass;
+
+import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetUtil;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.Annotations;
+import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+
+public class CssClassAnnotationOnMemberFacetFactory extends FacetFactoryAbstract {
+
+ public CssClassAnnotationOnMemberFacetFactory() {
+ super(FeatureType.MEMBERS);
+ }
+
+ @Override
+ public void process(final ProcessMethodContext processMethodContext) {
+ final CssClass annotation = Annotations.getAnnotation(processMethodContext.getMethod(), CssClass.class);
+ FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
+ }
+
+ private CssClassFacet create(final CssClass annotation, final FacetHolder holder) {
+ return annotation != null ? new CssClassFacetAnnotationOnMember(annotation.value(), holder) : null;
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassFacetAnnotationOnMember.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassFacetAnnotationOnMember.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassFacetAnnotationOnMember.java
new file mode 100644
index 0000000..26d0c29
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassFacetAnnotationOnMember.java
@@ -0,0 +1,30 @@
+/*
+ * 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.core.progmodel.facets.members.cssclass;
+
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+
+public class CssClassFacetAnnotationOnMember extends CssClassFacetAbstract {
+
+ public CssClassFacetAnnotationOnMember(final String value, final FacetHolder holder) {
+ super(value, holder);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactory.java
new file mode 100644
index 0000000..1bc6fda
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactory.java
@@ -0,0 +1,45 @@
+/*
+ * 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.core.progmodel.facets.object.cssclass;
+
+import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetUtil;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.Annotations;
+import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+
+public class CssClassAnnotationForTypeFacetFactory extends FacetFactoryAbstract {
+
+ public CssClassAnnotationForTypeFacetFactory() {
+ super(FeatureType.OBJECTS_ONLY);
+ }
+
+ @Override
+ public void process(final ProcessClassContext processClassContext) {
+ final CssClass annotation = Annotations.getAnnotation(processClassContext.getCls(), CssClass.class);
+ FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ }
+
+ private static CssClassFacet create(final CssClass annotation, final FacetHolder holder) {
+ return annotation == null ? null : new CssClassFacetForTypeAnnotation(annotation, holder);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassFacetForTypeAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassFacetForTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassFacetForTypeAnnotation.java
new file mode 100644
index 0000000..e63e610
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassFacetForTypeAnnotation.java
@@ -0,0 +1,31 @@
+/*
+ * 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.core.progmodel.facets.object.cssclass;
+
+import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+
+public class CssClassFacetForTypeAnnotation extends CssClassFacetAbstract {
+
+ public CssClassFacetForTypeAnnotation(final CssClass cssClass, final FacetHolder holder) {
+ super(cssClass.value(), holder);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 9150f59..454c825 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -49,6 +49,7 @@ import org.apache.isis.core.progmodel.facets.collections.notpersisted.annotation
import org.apache.isis.core.progmodel.facets.collections.sortedby.SortedByAnnotationFacetFactory;
import org.apache.isis.core.progmodel.facets.collections.typeof.TypeOfAnnotationForCollectionsFacetFactory;
import org.apache.isis.core.progmodel.facets.fallback.FallbackFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.cssclass.CssClassAnnotationOnMemberFacetFactory;
import org.apache.isis.core.progmodel.facets.members.describedas.annotation.DescribedAsAnnotationOnMemberFacetFactory;
import org.apache.isis.core.progmodel.facets.members.describedas.staticmethod.DescribedAsFacetViaDescriptionMethodFacetFactory;
import org.apache.isis.core.progmodel.facets.members.disabled.annotation.DisabledAnnotationFacetFactory;
@@ -75,6 +76,7 @@ import org.apache.isis.core.progmodel.facets.object.callbacks.persist.PersistCal
import org.apache.isis.core.progmodel.facets.object.callbacks.remove.RemoveCallbackFacetFactory;
import org.apache.isis.core.progmodel.facets.object.callbacks.update.UpdateCallbackFacetFactory;
import org.apache.isis.core.progmodel.facets.object.choices.enums.EnumFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.cssclass.CssClassAnnotationForTypeFacetFactory;
import org.apache.isis.core.progmodel.facets.object.defaults.annotation.DefaultedAnnotationFacetFactory;
import org.apache.isis.core.progmodel.facets.object.describedas.annotation.DescribedAsAnnotationOnTypeFacetFactory;
import org.apache.isis.core.progmodel.facets.object.dirty.method.DirtyMethodsFacetFactory;
@@ -338,6 +340,8 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
addFactory(HiddenAnnotationForTypeFacetFactory.class);
// must come after the TitleAnnotationFacetFactory, because can act as an override
addFactory(HiddenAnnotationForMemberFacetFactory.class);
+ addFactory(CssClassAnnotationForTypeFacetFactory.class);
+ addFactory(CssClassAnnotationOnMemberFacetFactory.class);
addFactory(HiddenObjectViaHiddenMethodFacetFactory.class);
addFactory(DisabledObjectViaDisabledMethodFacetFactory.class);
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index 859977d..9a38b55 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -264,6 +264,11 @@ public class ObjectSpecificationStub extends FacetHolderImpl implements ObjectSp
}
@Override
+ public String getCssClass() {
+ return null;
+ }
+
+ @Override
public String getTitle(final ObjectAdapter targetAdapter, final Localization localization) {
return getTitle(null, targetAdapter, localization);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactoryTest.java
new file mode 100644
index 0000000..803bfc3
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/members/cssclass/CssClassAnnotationOnMemberFacetFactoryTest.java
@@ -0,0 +1,45 @@
+package org.apache.isis.core.progmodel.facets.members.cssclass;
+
+import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.facets.FacetedMethod;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryJUnit4TestCase;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertThat;
+
+public class CssClassAnnotationOnMemberFacetFactoryTest extends AbstractFacetFactoryJUnit4TestCase {
+
+ @Test
+ public void testCssClassAnnotationPickedUpOnClass() {
+
+ final CssClassAnnotationOnMemberFacetFactory facetFactory = new CssClassAnnotationOnMemberFacetFactory();
+ facetFactory.setSpecificationLookup(mockSpecificationLoaderSpi);
+
+ class Customer {
+
+ @CssClass("user")
+ public String getName() {
+ return "Joe";
+ }
+ }
+
+ expectNoMethodsRemoved();
+
+ facetedMethod = FacetedMethod.createForProperty(Customer.class, "name");
+ facetFactory.process(new FacetFactory.ProcessMethodContext(Customer.class, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(CssClassFacet.class);
+ assertThat(facet, is(not(nullValue())));
+ assertThat(facet instanceof CssClassFacetAbstract, is(true));
+ final CssClassFacetAbstract cssClassFacetAbstract = (CssClassFacetAbstract) facet;
+ assertThat(cssClassFacetAbstract.value(), equalTo("user"));
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/57807846/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactoryTest.java
new file mode 100644
index 0000000..93a7426
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/object/cssclass/CssClassAnnotationForTypeFacetFactoryTest.java
@@ -0,0 +1,39 @@
+package org.apache.isis.core.progmodel.facets.object.cssclass;
+
+import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryJUnit4TestCase;
+import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertThat;
+
+public class CssClassAnnotationForTypeFacetFactoryTest extends AbstractFacetFactoryJUnit4TestCase {
+
+ @Test
+ public void testCssClassAnnotationPickedUpOnClass() {
+
+ final CssClassAnnotationForTypeFacetFactory facetFactory = new CssClassAnnotationForTypeFacetFactory();
+ facetFactory.setSpecificationLookup(mockSpecificationLoaderSpi);
+
+ @CssClass("testClass")
+ class Customer {
+ }
+
+ expectNoMethodsRemoved();
+
+ facetFactory.process(new FacetFactory.ProcessClassContext(Customer.class, mockMethodRemover, facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(CssClassFacet.class);
+ assertThat(facet, is(not(nullValue())));
+ assertThat(facet instanceof CssClassFacetAbstract, is(true));
+ final CssClassFacetAbstract cssClassFacetAbstract = (CssClassFacetAbstract) facet;
+ assertThat(cssClassFacetAbstract.value(), equalTo("testClass"));
+ }
+}
[3/3] git commit: ISIS-466: tidy-up and fix.
Posted by da...@apache.org.
ISIS-466: tidy-up and fix.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4fce5753
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4fce5753
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4fce5753
Branch: refs/heads/master
Commit: 4fce5753343d4167159c1d03f0a4f39af9c2725d
Parents: f0aee8c
Author: Dan Haywood <da...@apache.org>
Authored: Mon Jul 15 14:31:36 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Jul 15 14:31:36 2013 +0100
----------------------------------------------------------------------
.../dom/src/main/java/dom/todo/ToDoItem.java | 6 ++
.../src/main/java/dom/todo/ToDoItemsJdo.java | 87 ++++++++++++++++++++
.../java/fixture/todo/ToDoItemsFixture.java | 14 +++-
.../fixture/todo/ToDoItemsFixturesService.java | 64 --------------
.../integtests/pom.xml | 8 +-
.../java/integration/ToDoSystemInitializer.java | 2 +-
.../objstore-jdo/.gitignore | 2 -
.../objstore-jdo/lib/.gitignore | 5 --
.../objstore-jdo/pom.xml | 57 -------------
.../java/objstore/jdo/todo/ToDoItemsJdo.java | 87 --------------------
.../quickstart_wicket_restful_jdo/pom.xml | 6 --
.../webapp/pom.xml | 17 +---
.../java/app/services/DeveloperUtilities.java | 2 -
.../app/services/ToDoItemsFixturesService.java | 59 +++++++++++++
.../src/main/webapp/WEB-INF/isis.properties | 5 +-
.../webapp/src/main/webapp/about/index.html | 4 +-
16 files changed, 178 insertions(+), 247 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/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 42b5ec9..ed4a1c7 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
@@ -41,6 +41,7 @@ import org.apache.isis.applib.annotation.Audited;
import org.apache.isis.applib.annotation.AutoComplete;
import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.applib.annotation.Bulk;
+import org.apache.isis.applib.annotation.CssClass;
import org.apache.isis.applib.annotation.Disabled;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.MemberGroups;
@@ -138,6 +139,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
@MemberOrder(name="Detail", sequence = "3")
@Optional
+ @CssClass("x-key")
public LocalDate getDueBy() {
return dueBy;
}
@@ -233,6 +235,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
@PublishedAction
@Bulk
@MemberOrder(name="complete", sequence = "1")
+ @CssClass("x-highlight")
public ToDoItem completed() {
setComplete(true);
return this;
@@ -410,6 +413,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
}
@MemberOrder(name="dependencies", sequence = "4")
+ @CssClass("x-caution")
public ToDoItem remove(final ToDoItem toDoItem) {
getDependencies().remove(toDoItem);
return this;
@@ -442,6 +446,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
@MemberOrder(sequence = "5")
@NotPersisted
@Render(Type.LAZILY)
+ @CssClass("x-info")
public List<ToDoItem> getSimilarItems() {
return toDoItems.similarTo(this);
}
@@ -456,6 +461,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// nb: method is not called "clone()" is inherited by java.lang.Object and
// (a) has different semantics and (b) is in any case automatically ignored
// by the framework
+ @CssClass("x-caution")
public ToDoItem duplicate(
@Named("Description")
String description,
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemsJdo.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemsJdo.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemsJdo.java
new file mode 100644
index 0000000..1927ec0
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemsJdo.java
@@ -0,0 +1,87 @@
+/*
+ * 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 dom.todo;
+
+import java.util.List;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+import dom.todo.ToDoItem;
+import dom.todo.ToDoItems;
+
+import org.apache.isis.applib.query.QueryDefault;
+
+public class ToDoItemsJdo extends ToDoItems {
+
+ // {{ notYetComplete (action)
+ @Override
+ protected List<ToDoItem> doNotYetComplete() {
+ return allMatches(
+ new QueryDefault<ToDoItem>(ToDoItem.class,
+ "todo_notYetComplete",
+ "ownedBy", currentUserName()));
+ }
+ // }}
+
+ // {{ done (action)
+ @Override
+ protected List<ToDoItem> doComplete() {
+ return allMatches(
+ new QueryDefault<ToDoItem>(ToDoItem.class,
+ "todo_complete",
+ "ownedBy", currentUserName()));
+ }
+ // }}
+
+ // {{ similarTo (action)
+ @Override
+ public List<ToDoItem> similarTo(final ToDoItem thisToDoItem) {
+ final List<ToDoItem> similarToDoItems = allMatches(
+ new QueryDefault<ToDoItem>(ToDoItem.class,
+ "todo_similarTo",
+ "ownedBy", currentUserName(),
+ "category", thisToDoItem.getCategory()));
+ return Lists.newArrayList(Iterables.filter(similarToDoItems, excluding(thisToDoItem)));
+ }
+
+ private static Predicate<ToDoItem> excluding(final ToDoItem toDoItem) {
+ return new Predicate<ToDoItem>() {
+ @Override
+ public boolean apply(ToDoItem input) {
+ return input != toDoItem;
+ }
+ };
+ }
+ // }}
+
+ // {{ autoComplete (action)
+ @Override
+ public List<ToDoItem> autoComplete(String description) {
+
+ return allMatches(
+ new QueryDefault<ToDoItem>(ToDoItem.class,
+ "todo_autoComplete",
+ "ownedBy", currentUserName(),
+ "description", description));
+ }
+ // }}
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
index 6c9280b..7a14f6d 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixture.java
@@ -33,10 +33,20 @@ import org.apache.isis.objectstore.jdo.applib.service.support.IsisJdoSupport;
public class ToDoItemsFixture extends AbstractFixture {
+ private final String user;
+
+ public ToDoItemsFixture() {
+ this(null);
+ }
+
+ public ToDoItemsFixture(String ownedBy) {
+ this.user = ownedBy;
+ }
+
@Override
public void install() {
- final String ownedBy = getContainer().getUser().getName();
+ final String ownedBy = this.user != null? this.user : getContainer().getUser().getName();
isisJdoSupport.executeUpdate("delete from TODOITEM where OWNEDBY = '" + ownedBy + "'");
@@ -45,7 +55,7 @@ public class ToDoItemsFixture extends AbstractFixture {
getContainer().flush();
}
- public void installFor(String user) {
+ private void installFor(String user) {
createToDoItemForUser("Buy milk", Category.Domestic, user, daysFromToday(0), new BigDecimal("0.75"));
createToDoItemForUser("Buy bread", Category.Domestic, user, daysFromToday(0), new BigDecimal("1.75"));
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
deleted file mode 100644
index bc86f67..0000000
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ /dev/null
@@ -1,64 +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 fixture.todo;
-
-import java.util.List;
-
-import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.annotation.Named;
-
-import com.google.common.collect.Lists;
-
-import dom.todo.ToDoItems;
-
-/**
- * Enables fixtures to be installed from the application.
- */
-@Named("Fixtures")
-public class ToDoItemsFixturesService extends AbstractService {
-
- public String install() {
- final ToDoItemsFixture fixture = new ToDoItemsFixture();
- fixture.setContainer(getContainer());
- fixture.setToDoItems(toDoItems);
- fixture.install();
- return "Example fixtures installed";
- }
-
- public String installFor(@Named("User") String user) {
- final ToDoItemsFixture fixture = new ToDoItemsFixture();
- fixture.setContainer(getContainer());
- fixture.setToDoItems(toDoItems);
- fixture.installFor(user);
- return "Example fixtures installed for " + user;
- }
- public String default0InstallFor() {
- return "guest";
- }
- public List<String> choices0InstallFor() {
- return Lists.newArrayList("guest", "dick", "bob", "joe");
- }
-
-
- private ToDoItems toDoItems;
- public void setToDoItems(final ToDoItems toDoItems) {
- this.toDoItems = toDoItems;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
index 26d95c0..553f460 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/pom.xml
@@ -54,10 +54,6 @@
<groupId>${project.groupId}</groupId>
<artifactId>quickstart_wicket_restful_jdo-fixture</artifactId>
</dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>quickstart_wicket_restful_jdo-objstore-jdo</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.isis.core</groupId>
@@ -82,6 +78,10 @@
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-wrapper</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+ </dependency>
<dependency>
<groupId>org.hsqldb</groupId>
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
index 349fd34..e24d78a 100644
--- a/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
+++ b/example/application/quickstart_wicket_restful_jdo/integtests/src/test/java/integration/ToDoSystemInitializer.java
@@ -16,7 +16,7 @@
*/
package integration;
-import objstore.jdo.todo.ToDoItemsJdo;
+import dom.todo.ToDoItemsJdo;
import org.apache.log4j.Level;
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/objstore-jdo/.gitignore
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/.gitignore b/example/application/quickstart_wicket_restful_jdo/objstore-jdo/.gitignore
deleted file mode 100644
index 1c85271..0000000
--- a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target-ide
-/target-ide
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/objstore-jdo/lib/.gitignore
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/lib/.gitignore b/example/application/quickstart_wicket_restful_jdo/objstore-jdo/lib/.gitignore
deleted file mode 100644
index 70eee7e..0000000
--- a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/lib/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# explicitly ignoring Microsoft JDBC4 jar
-# (cannot redistribute, licensing)
-#
-sqljdbc4.jar
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/objstore-jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/pom.xml b/example/application/quickstart_wicket_restful_jdo/objstore-jdo/pom.xml
deleted file mode 100644
index 3350241..0000000
--- a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/pom.xml
+++ /dev/null
@@ -1,57 +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.example.application</groupId>
- <artifactId>quickstart_wicket_restful_jdo</artifactId>
- <version>1.0.4-SNAPSHOT</version>
- </parent>
-
- <artifactId>quickstart_wicket_restful_jdo-objstore-jdo</artifactId>
- <name>Quickstart Wicket/Restful/JDO Repositories (for JDO)</name>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.7.5</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
-
- <!-- other modules in this project -->
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>quickstart_wicket_restful_jdo-dom</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.objectstore</groupId>
- <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
- </dependency>
-
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java b/example/application/quickstart_wicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
deleted file mode 100644
index a16c228..0000000
--- a/example/application/quickstart_wicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java
+++ /dev/null
@@ -1,87 +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 objstore.jdo.todo;
-
-import java.util.List;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-import dom.todo.ToDoItem;
-import dom.todo.ToDoItems;
-
-import org.apache.isis.applib.query.QueryDefault;
-
-public class ToDoItemsJdo extends ToDoItems {
-
- // {{ notYetComplete (action)
- @Override
- protected List<ToDoItem> doNotYetComplete() {
- return allMatches(
- new QueryDefault<ToDoItem>(ToDoItem.class,
- "todo_notYetComplete",
- "ownedBy", currentUserName()));
- }
- // }}
-
- // {{ done (action)
- @Override
- protected List<ToDoItem> doComplete() {
- return allMatches(
- new QueryDefault<ToDoItem>(ToDoItem.class,
- "todo_complete",
- "ownedBy", currentUserName()));
- }
- // }}
-
- // {{ similarTo (action)
- @Override
- public List<ToDoItem> similarTo(final ToDoItem thisToDoItem) {
- final List<ToDoItem> similarToDoItems = allMatches(
- new QueryDefault<ToDoItem>(ToDoItem.class,
- "todo_similarTo",
- "ownedBy", currentUserName(),
- "category", thisToDoItem.getCategory()));
- return Lists.newArrayList(Iterables.filter(similarToDoItems, excluding(thisToDoItem)));
- }
-
- private static Predicate<ToDoItem> excluding(final ToDoItem toDoItem) {
- return new Predicate<ToDoItem>() {
- @Override
- public boolean apply(ToDoItem input) {
- return input != toDoItem;
- }
- };
- }
- // }}
-
- // {{ autoComplete (action)
- @Override
- public List<ToDoItem> autoComplete(String description) {
-
- return allMatches(
- new QueryDefault<ToDoItem>(ToDoItem.class,
- "todo_autoComplete",
- "ownedBy", currentUserName(),
- "description", description));
- }
- // }}
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/pom.xml b/example/application/quickstart_wicket_restful_jdo/pom.xml
index 8b0600c..ad8ca91 100644
--- a/example/application/quickstart_wicket_restful_jdo/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/pom.xml
@@ -252,7 +252,6 @@
<modules>
<module>dom</module>
<module>fixture</module>
- <module>objstore-jdo</module>
<module>integtests</module>
<module>webapp</module>
</modules>
@@ -314,11 +313,6 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>quickstart_wicket_restful_jdo-objstore-jdo</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
<artifactId>quickstart_wicket_restful_jdo-webapp</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
index 7ef1c65..e9b4186 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/pom.xml
@@ -173,22 +173,13 @@
</exclusion>
</exclusions>
</dependency>
-
- <!-- objectstore/domain service/repository implementations (brings in dependency to objectstore-jdo)-->
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>quickstart_wicket_restful_jdo-objstore-jdo</artifactId>
- <exclusions>
- <exclusion>
- <!-- so don't pick up transitive dependency to asm 4.0.0 -->
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-enhancer</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<!-- other isis components -->
<dependency>
+ <groupId>org.apache.isis.objectstore</groupId>
+ <artifactId>isis-objectstore-jdo-datanucleus</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.isis.viewer</groupId>
<artifactId>isis-viewer-wicket-impl</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/DeveloperUtilities.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/DeveloperUtilities.java b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/DeveloperUtilities.java
index 75c4e07..4675c4e 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/DeveloperUtilities.java
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/DeveloperUtilities.java
@@ -16,8 +16,6 @@
*/
package app.services;
-import fixture.todo.ToDoItemsFixturesService;
-
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.MemberOrder;
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/ToDoItemsFixturesService.java b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/ToDoItemsFixturesService.java
new file mode 100644
index 0000000..f665ec3
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/java/app/services/ToDoItemsFixturesService.java
@@ -0,0 +1,59 @@
+/*
+ * 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 app.services;
+
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import fixture.todo.ToDoItemsFixture;
+
+import org.apache.isis.applib.AbstractService;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate;
+
+/**
+ * Enables fixtures to be installed from the application.
+ */
+@Named("Fixtures")
+public class ToDoItemsFixturesService extends AbstractService {
+
+ public String install() {
+ installFixturesFor(null); // ie current user
+ return "Example fixtures installed";
+ }
+
+ public String installFor(@Named("User") String user) {
+ installFixturesFor(user);
+ return "Example fixtures installed for " + user;
+ }
+ public String default0InstallFor() {
+ return "guest";
+ }
+ public List<String> choices0InstallFor() {
+ return Lists.newArrayList("guest", "dick", "bob", "joe");
+ }
+
+ private static void installFixturesFor(String user) {
+ final FixturesInstallerDelegate installer = new FixturesInstallerDelegate().withOverride();
+ installer.addFixture(new ToDoItemsFixture(user));
+ installer.installFixtures();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
index 99907bb..a260961 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -185,11 +185,12 @@ isis.reflector.facet-decorators=org.apache.isis.core.progmodel.facetdecorators.i
# if using the DataNucleus object store
#isis.services.prefix =
-isis.services = objstore.jdo.todo.ToDoItemsJdo,\
- fixture.todo.ToDoItemsFixturesService,\
+isis.services = dom.todo.ToDoItemsJdo,\
+ app.services.ToDoItemsFixturesService,\
app.services.DeveloperUtilities,\
org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault,\
org.apache.isis.objectstore.jdo.service.RegisterEntities,\
+ org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl,\
org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,\
org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,\
org.apache.isis.applib.services.audit.AuditingService$Stderr,\
http://git-wip-us.apache.org/repos/asf/isis/blob/4fce5753/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/index.html
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/index.html b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/index.html
index cb966e6..dffcb45 100644
--- a/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/index.html
+++ b/example/application/quickstart_wicket_restful_jdo/webapp/src/main/webapp/about/index.html
@@ -102,13 +102,13 @@ th, td {
<p>The key files in the application are:</p>
<!-- the hrefs below are partially URL encoded to prevent them from being modified when the archetype is created -->
<ul>
- <li>Domain classes (todo functionality) (in <tt>dom</tt> module and <tt>objstore-jdo</tt> module)</a>
+ <li>Domain classes (todo functionality) (in <tt>dom</tt> module)</a>
<ul>
<li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java"><tt>ToDoItem</tt></a> domain entity
</li>
<li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItems.java"><tt>ToDoItems</tt></a> domain service (repository/factory)
</li>
- <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/objstore-jdo/src/main/java/objstore/jdo/todo/ToDoItemsJdo.java"><tt>ToDoItemsJdo</tt></a> domain service (repository methods overridden for JDO)
+ <li><a href="https://github.com/apache/isis/blob/master/example/application/quickstart%5Fwicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemsJdo.java"><tt>ToDoItemsJdo</tt></a> domain service (repository methods overridden for JDO)
</li>
</ul>
</li>
[2/3] git commit: ISIS-464 - Some trivial cleanup
Posted by da...@apache.org.
ISIS-464 - Some trivial cleanup
Signed-off-by: Dan Haywood <da...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f0aee8c6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f0aee8c6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f0aee8c6
Branch: refs/heads/master
Commit: f0aee8c6dd828c133f960a49f2485392ba3a0922
Parents: 5780784
Author: bibryam <bi...@gmail.com>
Authored: Sun Jul 14 20:52:20 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Jul 15 13:38:08 2013 +0100
----------------------------------------------------------------------
.../isis/viewer/restfulobjects/rendering/LinkBuilder.java | 1 -
.../rendering/domainobjects/DomainObjectReprRenderer.java | 8 +-------
.../isis/viewer/restfulobjects/rendering/util/OidUtils.java | 4 ++--
.../isis/viewer/restfulobjects/server/ResourceContext.java | 5 -----
.../server/resources/DomainServiceResourceServerside.java | 3 ---
.../restfulobjects/server/resources/ResourceAbstract.java | 7 ++-----
.../org/apache/isis/applib/annotation/NotContributed.java | 2 +-
.../main/java/org/apache/isis/applib/annotation/Where.java | 2 +-
.../org/apache/isis/core/metamodel/facets/FacetFactory.java | 2 +-
.../org/apache/isis/example/domainservice/email/Email.java | 4 ----
10 files changed, 8 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/LinkBuilder.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/LinkBuilder.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/LinkBuilder.java
index a2ceb59..f6e27e7 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/LinkBuilder.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/LinkBuilder.java
@@ -45,7 +45,6 @@ public final class LinkBuilder {
private String title;
private JsonRepresentation arguments;
private JsonRepresentation value;
- private String id;
protected LinkBuilder(final RendererContext resourceContext, final String rel, final String href, final MediaType mediaType) {
this.resourceContext = resourceContext;
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
index caed176..eaf605f 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/DomainObjectReprRenderer.java
@@ -18,15 +18,9 @@ package org.apache.isis.viewer.restfulobjects.rendering.domainobjects;
import java.util.List;
-import org.codehaus.jackson.node.NullNode;
-
-import org.apache.isis.applib.annotation.Render.Type;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
-import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.members.resolve.RenderFacet;
import org.apache.isis.core.metamodel.facets.object.notpersistable.NotPersistableFacet;
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
@@ -149,7 +143,7 @@ public class DomainObjectReprRenderer extends ReprRendererAbstract<DomainObjectR
} else {
final String domainType = getDomainType();
final String instanceId = getInstanceId();
- if(domainType != null) {
+ if (domainType != null) {
representation.mapPut("domainType", domainType);
representation.mapPut("instanceId", instanceId);
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/OidUtils.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/OidUtils.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/OidUtils.java
index 823da16..7db64d3 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/OidUtils.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/OidUtils.java
@@ -32,7 +32,7 @@ public final class OidUtils {
public static String getDomainType(final ObjectAdapter objectAdapter) {
Oid oid = objectAdapter.getOid();
- if(oid == null || !(oid instanceof TypedOid)) {
+ if (oid == null || !(oid instanceof TypedOid)) {
return null;
}
TypedOid typedOid = (TypedOid) oid;
@@ -48,7 +48,7 @@ public final class OidUtils {
public static String getOidStr(final RendererContext renderContext, final ObjectAdapter objectAdapter) {
final Oid oid = objectAdapter.getOid();
- if(!(oid instanceof RootOid)) {
+ if (!(oid instanceof RootOid)) {
throw new IllegalArgumentException("objectAdapter must be a root adapter");
}
return oid != null ? oid.enStringNoVersion(getOidMarshaller()) : null;
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
index b9204c3..6b81dac 100644
--- a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
+++ b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.viewer.restfulobjects.server;
-import java.io.InputStream;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -49,10 +48,6 @@ import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpS
import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
import org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
public class ResourceContext implements RendererContext {
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
index 60d81ce..90585e6 100644
--- a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
+++ b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
@@ -35,9 +35,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.DomainModel;
-import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.RequestParameter;
-import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
import org.apache.isis.viewer.restfulobjects.applib.domainobjects.DomainServiceResource;
import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer;
import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainServiceLinkTo;
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
index 6b1edca..933563d 100644
--- a/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
+++ b/component/viewer/restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ResourceAbstract.java
@@ -20,7 +20,6 @@ package org.apache.isis.viewer.restfulobjects.server.resources;
import java.io.IOException;
import java.io.InputStream;
-import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -51,9 +50,7 @@ import org.apache.isis.core.metamodel.services.ServiceUtil;
import org.apache.isis.core.metamodel.spec.ActionType;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
-import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.OidGenerator;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
@@ -131,13 +128,13 @@ public abstract class ResourceAbstract {
protected void init(RepresentationType representationType, Where where, String queryString) {
if (!IsisContext.inSession()) {
throw RestfulObjectsApplicationException.create(HttpStatusCode.UNAUTHORIZED);
- }
+ }
if (getAuthenticationSession() == null) {
throw RestfulObjectsApplicationException.create(HttpStatusCode.UNAUTHORIZED);
}
this.resourceContext = new ResourceContext(
- representationType, httpHeaders, uriInfo, request, where, queryString, httpServletRequest, httpServletResponse,
+ representationType, httpHeaders, uriInfo, request, where, queryString, httpServletRequest, httpServletResponse,
securityContext, getLocalization(), getAuthenticationSession(), getPersistenceSession(), getAdapterManager(), getSpecificationLoader(), getConfiguration());
}
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/core/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
index b809565..13f58cd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
@@ -26,7 +26,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
- * Indicates the a (repository) action should be not be contributed.
+ * Indicates the a (repository) action should not be contributed.
*
* <p>
* It may still be appear in the repository menu (unless it has been annotated
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
index b61628c..d3edc27 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
@@ -84,7 +84,7 @@ public enum Where {
* collection or a standalone list.
*
* <p>
- * This combines {@link #PARENTED_TABLE} and {@link #STANDALONE_TABLE}.
+ * This combines {@link #PARENTED_TABLES} and {@link #STANDALONE_TABLES}.
*/
ALL_TABLES {
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
index c39458f..199f289 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
@@ -94,7 +94,7 @@ public interface FacetFactory {
/**
* Process the class, and return the correctly setup annotation if present.
*/
- void process(ProcessClassContext processClassContaxt);
+ void process(ProcessClassContext processClassContext);
public static class ProcessMethodContext extends AbstractProcessContext<FacetedMethod> implements MethodRemover {
private final Class<?> cls;
http://git-wip-us.apache.org/repos/asf/isis/blob/f0aee8c6/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/Email.java
----------------------------------------------------------------------
diff --git a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/Email.java b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/Email.java
index 5fcc6f7..48db549 100644
--- a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/Email.java
+++ b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/Email.java
@@ -77,10 +77,6 @@ public class Email extends AbstractDomainObject {
public void removeFromTo(Address address) {
to.remove(address);
}
-
-
-
-
}