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 2010/12/11 20:37:04 UTC
svn commit: r1044697 - in /incubator/isis/trunk:
alternatives/profilestore/xml/src/main/java/
core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/
core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/
Author: danhaywood
Date: Sat Dec 11 19:37:04 2010
New Revision: 1044697
URL: http://svn.apache.org/viewvc?rev=1044697&view=rev
Log:
added DomainObjectContainer#removeIfNotAlready() to mirror a similar method for #persist...()
Modified:
incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/ (props changed)
incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
Propchange: incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Dec 11 19:37:04 2010
@@ -0,0 +1 @@
+META-INF
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java?rev=1044697&r1=1044696&r2=1044697&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java Sat Dec 11 19:37:04 2010
@@ -55,6 +55,7 @@ public class DomainObjectContainerDefaul
/**
* @see #doCreateTransientInstance(ObjectSpecification)
*/
+ @Override
@SuppressWarnings("unchecked")
public <T> T newTransientInstance(final Class<T> ofClass) {
final ObjectSpecification spec = getRuntimeContext().getSpecificationLoader().loadSpecification(ofClass);
@@ -65,6 +66,7 @@ public class DomainObjectContainerDefaul
/**
* Returns a new instance of the specified class that will have been persisted.
*/
+ @Override
public <T> T newPersistentInstance(final Class<T> ofClass) {
T newInstance = newTransientInstance(ofClass);
persist(newInstance);
@@ -74,6 +76,7 @@ public class DomainObjectContainerDefaul
/**
* Returns a new instance of the specified class that has the sane persisted state as the specified object.
*/
+ @Override
public <T> T newInstance(final Class<T> ofClass, final Object object) {
if (isPersistent(object)) {
return newPersistentInstance(ofClass);
@@ -89,6 +92,7 @@ public class DomainObjectContainerDefaul
return getRuntimeContext().createTransientInstance(spec);
}
+ @Override
public void remove(final Object persistentObject) {
if (persistentObject == null) {
throw new IllegalArgumentException("Must specify a reference for disposing an object");
@@ -100,19 +104,31 @@ public class DomainObjectContainerDefaul
getRuntimeContext().remove(adapter);
}
+
+ @Override
+ public void removeIfNotAlready(final Object object) {
+ if (!isPersistent(object)) {
+ return;
+ }
+ remove(object);
+ }
+
////////////////////////////////////////////////////////////////////
// resolve, objectChanged
////////////////////////////////////////////////////////////////////
+ @Override
public void resolve(final Object parent) {
runtimeContext.resolve(parent);
}
+ @Override
public void resolve(final Object parent, final Object field) {
runtimeContext.resolve(parent, field);
}
+ @Override
public void objectChanged(final Object object) {
runtimeContext.objectChanged(object);
}
@@ -121,10 +137,12 @@ public class DomainObjectContainerDefaul
// flush, commit
////////////////////////////////////////////////////////////////////
+ @Override
public boolean flush() {
return runtimeContext.flush();
}
+ @Override
public void commit() {
runtimeContext.commit();
}
@@ -134,11 +152,13 @@ public class DomainObjectContainerDefaul
////////////////////////////////////////////////////////////////////
- public boolean isValid(final Object domainObject) {
+ @Override
+ public boolean isValid(final Object domainObject) {
return validate(domainObject) == null;
}
- public String validate(final Object domainObject) {
+ @Override
+ public String validate(final Object domainObject) {
final ObjectAdapter adapter = getRuntimeContext().adapterFor(domainObject);
InteractionResult validityResult = adapter.getSpecification().isValidResult(adapter);
return validityResult.getReason();
@@ -149,11 +169,13 @@ public class DomainObjectContainerDefaul
// persistence
////////////////////////////////////////////////////////////////////
+ @Override
public boolean isPersistent(final Object domainObject) {
final ObjectAdapter adapter = getRuntimeContext().adapterFor(domainObject);
return adapter.isPersistent();
}
+ @Override
public void persist(final Object transientObject) {
final ObjectAdapter adapter = getRuntimeContext().getAdapterFor(transientObject);
if (isPersistent(transientObject)) {
@@ -162,16 +184,19 @@ public class DomainObjectContainerDefaul
getRuntimeContext().makePersistent(adapter);
}
+ @Override
public void persistIfNotAlready(final Object object) {
- if (!isPersistent(object)) {
- persist(object);
+ if (isPersistent(object)) {
+ return;
}
+ persist(object);
}
////////////////////////////////////////////////////////////////////
// security
////////////////////////////////////////////////////////////////////
+ @Override
public UserMemento getUser() {
final AuthenticationSession session = getRuntimeContext().getAuthenticationSession();
@@ -196,15 +221,18 @@ public class DomainObjectContainerDefaul
// properties
////////////////////////////////////////////////////////////////////
+ @Override
public String getProperty(String name) {
return runtimeContext.getProperty(name) ;
}
+ @Override
public String getProperty(String name, String defaultValue) {
String value = getProperty(name);
return value == null ? defaultValue : value;
}
+ @Override
public List<String> getPropertyNames() {
return runtimeContext.getPropertyNames() ;
}
@@ -213,14 +241,17 @@ public class DomainObjectContainerDefaul
// info, warn, error messages
////////////////////////////////////////////////////////////////////
+ @Override
public void informUser(final String message) {
getRuntimeContext().informUser(message);
}
+ @Override
public void raiseError(final String message) {
getRuntimeContext().raiseError(message);
}
+ @Override
public void warnUser(final String message) {
getRuntimeContext().warnUser(message);
}
@@ -230,11 +261,13 @@ public class DomainObjectContainerDefaul
// allInstances, allMatches
////////////////////////////////////////////////////////////////////
- public <T> List<T> allInstances(final Class<T> type) {
+ @Override
+ public <T> List<T> allInstances(final Class<T> type) {
return allMatches(new QueryFindAllInstances<T>(type));
}
- public <T> List<T> allMatches(final Class<T> cls, final Filter<T> filter) {
+ @Override
+ public <T> List<T> allMatches(final Class<T> cls, final Filter<T> filter) {
final List<T> allInstances = allInstances(cls);
final List<T> filtered = new ArrayList<T>();
for (T instance: allInstances) {
@@ -245,15 +278,18 @@ public class DomainObjectContainerDefaul
return filtered;
}
- public <T> List<T> allMatches(final Class<T> type, final T pattern) {
+ @Override
+ public <T> List<T> allMatches(final Class<T> type, final T pattern) {
Assert.assertTrue("pattern not compatible with type", type.isAssignableFrom(pattern.getClass()));
return allMatches(new QueryFindByPattern<T>(type, pattern));
}
+ @Override
public <T> List<T> allMatches(final Class<T> type, final String title) {
return allMatches(new QueryFindByTitle<T>(type, title));
}
+ @Override
public <T> List<T> allMatches(final Query<T> query) {
List<ObjectAdapter> allMatching = getRuntimeContext().allMatchingQuery(query);
return IsisUtils.unwrap(allMatching);
@@ -263,7 +299,8 @@ public class DomainObjectContainerDefaul
// firstMatch
////////////////////////////////////////////////////////////////////
- public <T> T firstMatch(final Class<T> cls, final Filter<T> filter) {
+ @Override
+ public <T> T firstMatch(final Class<T> cls, final Filter<T> filter) {
final List<T> allInstances = allInstances(cls);
for (T instance: allInstances) {
if (filter.accept(instance)) {
@@ -273,16 +310,19 @@ public class DomainObjectContainerDefaul
return null;
}
+ @Override
public <T> T firstMatch(final Class<T> type, final T pattern) {
final List<T> instances = allMatches(type, pattern);
return firstInstanceElseNull(instances);
}
+ @Override
public <T> T firstMatch(final Class<T> type, final String title) {
final List<T> instances = allMatches(type, title);
return firstInstanceElseNull(instances);
}
+ @Override
@SuppressWarnings("unchecked")
public <T> T firstMatch(final Query<T> query) {
ObjectAdapter firstMatching = getRuntimeContext().firstMatchingQuery(query);
@@ -293,7 +333,8 @@ public class DomainObjectContainerDefaul
// uniqueMatch
////////////////////////////////////////////////////////////////////
- public <T> T uniqueMatch(final Class<T> type, final Filter<T> filter) {
+ @Override
+ public <T> T uniqueMatch(final Class<T> type, final Filter<T> filter) {
final List<T> instances = allMatches(type, filter);
if (instances.size() > 1) {
throw new RepositoryException(
@@ -302,6 +343,7 @@ public class DomainObjectContainerDefaul
return firstInstanceElseNull(instances);
}
+ @Override
public <T> T uniqueMatch(final Class<T> type, final T pattern) {
final List<T> instances = allMatches(type, pattern);
if (instances.size() > 1) {
@@ -310,6 +352,7 @@ public class DomainObjectContainerDefaul
return firstInstanceElseNull(instances);
}
+ @Override
public <T> T uniqueMatch(final Class<T> type, final String title) {
final List<T> instances = allMatches(type, title);
if (instances.size() > 1) {
@@ -318,6 +361,7 @@ public class DomainObjectContainerDefaul
return firstInstanceElseNull(instances);
}
+ @Override
public <T> T uniqueMatch(final Query<T> query) {
final List<T> instances = allMatches(query);
if (instances.size() > 1) {
@@ -346,7 +390,8 @@ public class DomainObjectContainerDefaul
return runtimeContext;
}
- public void setRuntimeContext(RuntimeContext runtimeContext) {
+ @Override
+ public void setRuntimeContext(RuntimeContext runtimeContext) {
this.runtimeContext = runtimeContext;
runtimeContext.setContainer(this);
}
Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java?rev=1044697&r1=1044696&r2=1044697&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/imageloader/awt/TemplateImageLoaderAwt.java Sat Dec 11 19:37:04 2010
@@ -20,8 +20,8 @@
package org.apache.isis.core.runtime.imageloader.awt;
-import static org.hamcrest.CoreMatchers.is;
import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
+import static org.hamcrest.CoreMatchers.is;
import java.awt.Canvas;
import java.awt.Image;
@@ -36,12 +36,12 @@ import java.util.Hashtable;
import java.util.List;
import java.util.Vector;
-import org.apache.log4j.Logger;
import org.apache.isis.core.commons.lang.Resources;
import org.apache.isis.core.metamodel.config.IsisConfiguration;
import org.apache.isis.core.runtime.imageloader.TemplateImage;
import org.apache.isis.core.runtime.imageloader.TemplateImageImpl;
import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
+import org.apache.log4j.Logger;
/**
@@ -50,9 +50,10 @@ import org.apache.isis.core.runtime.imag
*/
public class TemplateImageLoaderAwt implements TemplateImageLoader {
+ private final static Logger LOG = Logger.getLogger(TemplateImageLoaderAwt.class);
+
private static final String LOAD_IMAGES_FROM_FILES_KEY = ImageConstants.PROPERTY_BASE + "load-images-from-files";
private static final String[] EXTENSIONS = { "png", "gif", "jpg", "jpeg", "svg" };
- private final static Logger LOG = Logger.getLogger(TemplateImageLoaderAwt.class);
private final static String IMAGE_DIRECTORY = "images";
private final static String IMAGE_DIRECTORY_PARAM = ImageConstants.PROPERTY_BASE + "image-directory";
private static final String SEPARATOR = "/";
@@ -83,6 +84,7 @@ public class TemplateImageLoaderAwt impl
// init, shutdown
//////////////////////////////////////////////////////////////
+ @Override
public void init() {
ensureNotInitialized();
LOG.info("images to be loaded from " + directory());
@@ -91,6 +93,7 @@ public class TemplateImageLoaderAwt impl
}
+ @Override
public void shutdown() {}
@@ -121,6 +124,7 @@ public class TemplateImageLoaderAwt impl
*
* @return returns a {@link TemplateImage} for the specified image file, or null if none found.
*/
+ @Override
public TemplateImage getTemplateImage(final String name) {
ensureInitialized();