You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2010/10/19 21:06:41 UTC
svn commit: r1024361 - in
/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc:
def/ internal/ internal/util/
Author: drobiazko
Date: Tue Oct 19 19:06:41 2010
New Revision: 1024361
URL: http://svn.apache.org/viewvc?rev=1024361&view=rev
Log:
@Startup methods are now contributions to the RegistryStartup service.
Removed:
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/def/ModuleDef3.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/def/StartupDef.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/StartupDefImpl.java
Modified:
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java?rev=1024361&r1=1024360&r2=1024361&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java Tue Oct 19 19:06:41 2010
@@ -50,9 +50,8 @@ import org.apache.tapestry5.ioc.annotati
import org.apache.tapestry5.ioc.def.ContributionDef;
import org.apache.tapestry5.ioc.def.ContributionDef2;
import org.apache.tapestry5.ioc.def.DecoratorDef;
-import org.apache.tapestry5.ioc.def.ModuleDef3;
+import org.apache.tapestry5.ioc.def.ModuleDef2;
import org.apache.tapestry5.ioc.def.ServiceDef;
-import org.apache.tapestry5.ioc.def.StartupDef;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.ioc.services.ClassFactory;
@@ -63,7 +62,7 @@ import org.slf4j.Logger;
* decorators (service
* decorator methods) and (not yet implemented) contributions (service contributor methods).
*/
-public class DefaultModuleDefImpl implements ModuleDef3, ServiceDefAccumulator
+public class DefaultModuleDefImpl implements ModuleDef2, ServiceDefAccumulator
{
/**
* The prefix used to identify service builder methods.
@@ -105,8 +104,6 @@ public class DefaultModuleDefImpl implem
private final Set<ContributionDef> contributionDefs = CollectionFactory.newSet();
- private final Set<StartupDef> startupDefs = CollectionFactory.newSet();
-
private final Set<Class> defaultMarkers = CollectionFactory.newSet();
private final static Set<Method> OBJECT_METHODS = CollectionFactory.newSet(Object.class.getMethods());
@@ -266,7 +263,11 @@ public class DefaultModuleDefImpl implem
private void addStartupDef(Method method)
{
- startupDefs.add(new StartupDefImpl(method));
+ Set<Class> markers = Collections.emptySet();
+
+ ContributionDef2 def = new ContributionDefImpl("RegistryStartup", method, classFactory, Runnable.class, markers);
+
+ contributionDefs.add(def);
}
private void addContributionDef(Method method)
@@ -526,11 +527,6 @@ public class DefaultModuleDefImpl implem
return contributionDefs;
}
- public Set<StartupDef> getStartupDefs()
- {
- return startupDefs;
- }
-
public String getLoggerName()
{
return moduleClass.getName();
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java?rev=1024361&r1=1024360&r2=1024361&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java Tue Oct 19 19:06:41 2010
@@ -23,7 +23,6 @@ import org.apache.tapestry5.ioc.def.Cont
import org.apache.tapestry5.ioc.def.DecoratorDef;
import org.apache.tapestry5.ioc.def.ServiceDef;
import org.apache.tapestry5.ioc.def.ServiceDef2;
-import org.apache.tapestry5.ioc.def.StartupDef;
/**
* A module within the Tapestry IoC registry. Each Module is constructed around a corresponding module builder instance;
@@ -98,9 +97,4 @@ public interface Module extends ModuleBu
* @return module logger name
*/
String getLoggerName();
-
- /**
- * Returns all the {@link StartupDef}s defined in the module.
- */
- Set<StartupDef> getStartupDefs();
}
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java?rev=1024361&r1=1024360&r2=1024361&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java Tue Oct 19 19:06:41 2010
@@ -40,10 +40,9 @@ import org.apache.tapestry5.ioc.def.Cont
import org.apache.tapestry5.ioc.def.ContributionDef2;
import org.apache.tapestry5.ioc.def.DecoratorDef;
import org.apache.tapestry5.ioc.def.ModuleDef;
-import org.apache.tapestry5.ioc.def.ModuleDef3;
+import org.apache.tapestry5.ioc.def.ModuleDef2;
import org.apache.tapestry5.ioc.def.ServiceDef;
import org.apache.tapestry5.ioc.def.ServiceDef2;
-import org.apache.tapestry5.ioc.def.StartupDef;
import org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier;
@@ -64,7 +63,7 @@ public class ModuleImpl implements Modul
private final ServiceActivityTracker tracker;
- private final ModuleDef3 moduleDef;
+ private final ModuleDef2 moduleDef;
private final ClassFactory classFactory;
@@ -98,7 +97,7 @@ public class ModuleImpl implements Modul
{
this.registry = registry;
this.tracker = tracker;
- this.moduleDef = InternalUtils.toModuleDef3(moduleDef);
+ this.moduleDef = InternalUtils.toModuleDef2(moduleDef);
this.classFactory = classFactory;
this.logger = logger;
@@ -590,11 +589,6 @@ public class ModuleImpl implements Modul
return moduleDef.getLoggerName();
}
- public Set<StartupDef> getStartupDefs()
- {
- return moduleDef.getStartupDefs();
- }
-
@Override
public String toString()
{
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java?rev=1024361&r1=1024360&r2=1024361&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java Tue Oct 19 19:06:41 2010
@@ -27,7 +27,26 @@ import org.apache.tapestry5.func.F;
import org.apache.tapestry5.func.Flow;
import org.apache.tapestry5.func.Mapper;
import org.apache.tapestry5.func.Predicate;
-import org.apache.tapestry5.ioc.*;
+import org.apache.tapestry5.ioc.AdvisorDef;
+import org.apache.tapestry5.ioc.AnnotationProvider;
+import org.apache.tapestry5.ioc.Configuration;
+import org.apache.tapestry5.ioc.IOCConstants;
+import org.apache.tapestry5.ioc.Invokable;
+import org.apache.tapestry5.ioc.LoggerSource;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+import org.apache.tapestry5.ioc.ObjectCreator;
+import org.apache.tapestry5.ioc.ObjectLocator;
+import org.apache.tapestry5.ioc.ObjectProvider;
+import org.apache.tapestry5.ioc.OperationTracker;
+import org.apache.tapestry5.ioc.OrderedConfiguration;
+import org.apache.tapestry5.ioc.Registry;
+import org.apache.tapestry5.ioc.ScopeConstants;
+import org.apache.tapestry5.ioc.ServiceAdvisor;
+import org.apache.tapestry5.ioc.ServiceBuilderResources;
+import org.apache.tapestry5.ioc.ServiceDecorator;
+import org.apache.tapestry5.ioc.ServiceLifecycle;
+import org.apache.tapestry5.ioc.ServiceLifecycle2;
+import org.apache.tapestry5.ioc.ServiceResources;
import org.apache.tapestry5.ioc.annotations.Local;
import org.apache.tapestry5.ioc.def.ContributionDef;
import org.apache.tapestry5.ioc.def.ContributionDef2;
@@ -35,17 +54,26 @@ import org.apache.tapestry5.ioc.def.Deco
import org.apache.tapestry5.ioc.def.ModuleDef;
import org.apache.tapestry5.ioc.def.ServiceDef;
import org.apache.tapestry5.ioc.def.ServiceDef2;
-import org.apache.tapestry5.ioc.def.StartupDef;
import org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl;
import org.apache.tapestry5.ioc.internal.services.RegistryShutdownHubImpl;
-import org.apache.tapestry5.ioc.internal.services.ServiceMessages;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.InjectionResources;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.ioc.internal.util.MapInjectionResources;
import org.apache.tapestry5.ioc.internal.util.OneShotLock;
import org.apache.tapestry5.ioc.internal.util.Orderer;
-import org.apache.tapestry5.ioc.services.*;
+import org.apache.tapestry5.ioc.services.Builtin;
+import org.apache.tapestry5.ioc.services.ClassFab;
+import org.apache.tapestry5.ioc.services.ClassFactory;
+import org.apache.tapestry5.ioc.services.MasterObjectProvider;
+import org.apache.tapestry5.ioc.services.PerthreadManager;
+import org.apache.tapestry5.ioc.services.RegistryShutdownHub;
+import org.apache.tapestry5.ioc.services.RegistryShutdownListener;
+import org.apache.tapestry5.ioc.services.ServiceActivityScoreboard;
+import org.apache.tapestry5.ioc.services.ServiceLifecycleSource;
+import org.apache.tapestry5.ioc.services.Status;
+import org.apache.tapestry5.ioc.services.SymbolSource;
+import org.apache.tapestry5.ioc.services.TapestryIOCModule;
import org.apache.tapestry5.ioc.util.AvailableValues;
import org.apache.tapestry5.ioc.util.UnknownValueException;
import org.apache.tapestry5.services.UpdateListenerHub;
@@ -304,32 +332,9 @@ public class RegistryImpl implements Reg
getService("RegistryStartup", Runnable.class).run();
- invokeStartups();
-
cleanupThread();
}
- private void invokeStartups()
- {
- for (Module m : moduleToServiceDefs.keySet())
- {
- Logger logger = this.loggerSource.getLogger(m.getLoggerName());
-
- for (StartupDef sd : m.getStartupDefs())
- {
- try
- {
- sd.startup(m, this, this, logger);
- }
- catch (RuntimeException e)
- {
- logger.error(ServiceMessages.startupFailure(e));
- }
- }
-
- }
- }
-
public Logger getServiceLogger(String serviceId)
{
Module module = serviceIdToModule.get(serviceId);
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java?rev=1024361&r1=1024360&r2=1024361&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java Tue Oct 19 19:06:41 2010
@@ -26,14 +26,39 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
import java.net.URL;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.tapestry5.func.Mapper;
import org.apache.tapestry5.func.Predicate;
-import org.apache.tapestry5.ioc.*;
+import org.apache.tapestry5.ioc.AdvisorDef;
+import org.apache.tapestry5.ioc.AnnotationProvider;
+import org.apache.tapestry5.ioc.Configuration;
+import org.apache.tapestry5.ioc.IOCConstants;
+import org.apache.tapestry5.ioc.Invokable;
+import org.apache.tapestry5.ioc.Locatable;
+import org.apache.tapestry5.ioc.Location;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+import org.apache.tapestry5.ioc.ModuleBuilderSource;
+import org.apache.tapestry5.ioc.ObjectCreator;
+import org.apache.tapestry5.ioc.ObjectLocator;
+import org.apache.tapestry5.ioc.OperationTracker;
+import org.apache.tapestry5.ioc.OrderedConfiguration;
+import org.apache.tapestry5.ioc.ServiceBuilderResources;
+import org.apache.tapestry5.ioc.ServiceLifecycle;
+import org.apache.tapestry5.ioc.ServiceLifecycle2;
+import org.apache.tapestry5.ioc.ServiceResources;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.InjectResource;
import org.apache.tapestry5.ioc.annotations.InjectService;
@@ -42,10 +67,9 @@ import org.apache.tapestry5.ioc.def.Cont
import org.apache.tapestry5.ioc.def.ContributionDef2;
import org.apache.tapestry5.ioc.def.DecoratorDef;
import org.apache.tapestry5.ioc.def.ModuleDef;
-import org.apache.tapestry5.ioc.def.ModuleDef3;
+import org.apache.tapestry5.ioc.def.ModuleDef2;
import org.apache.tapestry5.ioc.def.ServiceDef;
import org.apache.tapestry5.ioc.def.ServiceDef2;
-import org.apache.tapestry5.ioc.def.StartupDef;
import org.apache.tapestry5.ioc.internal.InternalServiceDef;
import org.apache.tapestry5.ioc.services.ClassFabUtils;
import org.apache.tapestry5.ioc.services.ClassFactory;
@@ -894,12 +918,12 @@ public class InternalUtils
};
}
- public static ModuleDef3 toModuleDef3(final ModuleDef md)
+ public static ModuleDef2 toModuleDef2(final ModuleDef md)
{
- if (md instanceof ModuleDef3)
- return (ModuleDef3) md;
+ if (md instanceof ModuleDef2)
+ return (ModuleDef2) md;
- return new ModuleDef3()
+ return new ModuleDef2()
{
public Set<AdvisorDef> getAdvisorDefs()
{
@@ -935,11 +959,6 @@ public class InternalUtils
{
return md.getServiceIds();
}
-
- public Set<StartupDef> getStartupDefs()
- {
- return Collections.emptySet();
- }
};
}