Not really able to follow what you're looking for, but have you looked at
Rocoto <http://99soft.github.com/rocoto/>? Apologies if that's a tack in
the wrong direction.

On Mon, Jul 23, 2012 at 4:05 PM, MarvinToll.com <[email protected]>wrote:

> {Newbie alert continues... }
>
> I'm trying another approach...
>
> My concrete Module file includes:
>
> public class SjcLocalHostLoggerMO extends SjcBaseMO {
>
>     @Override
>     public void putPropertiesTM(final Properties properties) {
>
>         properties.put(
>
> SjcPiLoggerJdkRF.LOGGER_FILEHANDLER_OUTPUTFILE_BYTELIMIT,
>                 "10000000");
> ... etc.
>
> And am binding all the properties during the "configure" step of the
> Module life-cycle:
>
>         Names.bindProperties(binder(), properties);
>
> When this is done... the debugger indicates that an ArrayList of
> Elements are available in the Binder including:
>
>      InstanceBinding[key=Key[type=java.lang.String,
>
> [email protected](value=logger.filehandler.outputfile.bytelimit)],
> source=info.soaj.core.mo.SjcBaseMO.configure(SjcBaseMO.java:84),
> instance=10000000]
>
>
> So the question... how do I subsequently retrieve the property
> value???  Or retrieve the complete Properties instance???
>
> Said another way... the AbstractModule contains the Binder... which is
> accessible... how do I get to the Elements (or Element) containing the
> "InstanceBinding" of interest?
>
> _Marvin
>
>
> On Jul 21, 12:22 pm, "MarvinToll.com" <[email protected]> wrote:
> > I'm far enough along to provide some contextualized code useful for
> problem
> > statement elaboration... and maybe someone can think of an
> outside-the-box
> > solution?
> >
> > The basic challenge is the integration of properties with each
> 'injectable
> > plugin'.  The properties are defined at *server start-up
> > or outside-container unit testing set-up* where five steps are executed:
> >
> >  **********************************************************************
> >  * SOAj v. 2.2.6 [Copyright (c) 2012 by GTC at gtcGroup.com]
> >  **********************************************************************
> >  * Threads Available: 12
> >  * Cores Available: 8
> >  **********************************************************************
> >  *
> >
> /C:/projects/refapp/SOAj/soaj-core/target/test-classes/soaj-timer-config.xm­l
> >  **********************************************************************
> >  * Activation Sequence Phase 0 - Retrieve Elements [3]
> >  * Activation Sequence Phase 1 - Injector Bindings [3]
> >  * Activation Sequence Phase 2 - Instantiate Plugins [3]
> >  * Activation Sequence Phase 3 - Invoke Verification
> >  * Activation Sequence Phase 4 - Log Metadata
> >  **********************************************************************
> >
> > *During Phase 1 the plugin module objects (MO) populate properties using
> a
> > Template Method invoked during the "configure" portion of the module
> > lifecycle.  *
> >
> > /**
> >  * This MODULE OBJECT defines properties programmatically.
> >  *
> >  * <p style="font-family:Verdana; font-size:10px; font-style:italic">
> >  * Copyright (c) 2006 - 2012 by Global Technology Consulting Group, Inc.
> at
> > <a
> >  * href="http://gtcGroup.com";>gtcGroup.com </a>.
> >  * </p>
> >  *
> >  * @author Marvin Toll
> >  * @since v. 2.3
> >  */
> > public class SjcLocalHostTimerMO extends SjcBaseMO {
> >     /**
> >      * Constructor
> >      *
> >      * @param pluginElementPO
> >      */
> >     public SjcLocalHostTimerMO(final SjcPluginElementPO pluginElementPO)
> {
> >         super(pluginElementPO);
> >         return;
> >     }
> >     /**
> >      * @see SjcBaseMO#putPropertiesTM(Properties)
> >      */
> >     @Override
> >     public void putPropertiesTM(final Properties properties) {
> >         properties.put(SjcPiTimer.DECLARATIVE_LOGGING_TASK_SCHEDULED,
> > "true");
> >         properties.put(SjcPiTimer.DECLARATIVE_LOGGING_TASK_LAUNCHED,
> > "true");
> >         properties.put(SjcPiTimer.DECLARATIVE_LOGGING_TASK_COMPLETED,
> > "true");
> >         return;
> >     }
> >
> > }
> >
> > The properties above are cached using the injectable plugin 'unique name'
> > as the key.*  During processing, the injectable plugin instances may need
> > access to their properties* (obtainable from the Caching Singleton)*:*
> >
> >     /**
> >      * This method retrieves cached properties.
> >      *
> >      * @param pluginUniqueName
> >      * @return SjcPluginPropertyPO
> >      */
> >     public static SjcPluginPropertyPO retrievePluginPropertyPO(
> >             final String pluginUniqueName) {
> >
> >         final SjcPluginPropertyPO pluginPropertyPO =
> > ActivatedPluginsCS.activatedProperties
> >                 .get(pluginUniqueName);
> >
> >         return pluginPropertyPO;
> >     }
> >
> > *So... this got me to the point that an injectable plugin instance needs
> to
> > know its own "unique name".*
> >
> > Having said all that... there may be a better way to integrate properties
> > (useable with both web server and outside-container unit testing) with
> > their injectable plugin instance... that are processed at server startup.
> >
> > _Marvinhttp://PatternEnabled.com
> >
> >
> >
> > On Friday, July 20, 2012 3:58:14 PM UTC-4, Craig McClanahan wrote:
> > > What you are trying to do isn't going to work.
> >
> > > The @Named annotation in question is on the field where the injection
> took
> > > place.  The object that got injected, or its class (SjcPiTimerSI) has
> no
> > > clue *why* it got injected, so no general purpose utility method like
> you
> > > have outlined is going to be able to learn what you're after.
> >
> > > Craig
> >
> > > On Thu, Jul 19, 2012 at 10:03 AM, MarvinToll.com <
> [email protected]>wrote:
> >
> > >> ** Newbie Alert **
> >
> > >> A class has the following field injection:
> >
> > >>     @Inject
> > >>     @Named(SjcConstant.TIMER_PLUGIN)
> > >>     private SjcPiTimerSI timerSI;
> >
> > >> I would like to subsequently find out the instance @Named value.
> >
> > >> For example, a Utility method similar to:
> >
> > >> public static String retrieveInstanceNamedName (SjcPiTimerSI
> > >> thisInstance) {
> >
> > >> String instanceName;
> >
> > >>      *???*
> >
> > >> return instanceName;
> > >> }
> >
> > >> Any thoughts/
> >
> > >> _Marvin
> > >>http://PatternEnabled.com
>
> --
> You received this message because you are subscribed to the Google Groups
> "google-guice" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-guice?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to