You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Nikita Koksharov (JIRA)" <de...@tapestry.apache.org> on 2008/01/30 10:44:34 UTC

[jira] Created: (TAPESTRY-2107) Ability to rebind services.

Ability to rebind services.
---------------------------

                 Key: TAPESTRY-2107
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2107
             Project: Tapestry
          Issue Type: Improvement
    Affects Versions: 5.0.9
            Reporter: Nikita Koksharov
             Fix For: 5.0.10


It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:

    public void addServiceDef(ServiceDef serviceDef)
    {
        String serviceId = serviceDef.getServiceId();
        ServiceDef existing = _serviceDefs.get(serviceId);
        if (existing != null)
        {
            _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
            return;
        }
        _serviceDefs.put(serviceId, serviceDef);
    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: [jira] Created: (TAPESTRY-2107) Ability to rebind services.

Posted by Davor Hrg <hr...@gmail.com>.
tapestry ioc is aimed at application startup,
your proposal might be rejected as is.
there is no good general solution for replacing services at runtime,
there are many issues and possible incompatibilities.
Tapestry pages and components can be reloaded but it involves
some compromises.

can you explain more your use case,
maybe it can be solved without changing how tapestry-ioc
works.

Davor Hrg


On Jan 30, 2008 10:44 AM, Nikita Koksharov (JIRA)
<de...@tapestry.apache.org> wrote:
> Ability to rebind services.
> ---------------------------
>
>                  Key: TAPESTRY-2107
>                  URL: https://issues.apache.org/jira/browse/TAPESTRY-2107
>              Project: Tapestry
>           Issue Type: Improvement
>     Affects Versions: 5.0.9
>             Reporter: Nikita Koksharov
>              Fix For: 5.0.10
>
>
> It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:
>
>     public void addServiceDef(ServiceDef serviceDef)
>     {
>         String serviceId = serviceDef.getServiceId();
>         ServiceDef existing = _serviceDefs.get(serviceId);
>         if (existing != null)
>         {
>             _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
>             return;
>         }
>         _serviceDefs.put(serviceId, serviceDef);
>     }
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2107) Ability to rebind services.

Posted by "Nikita Koksharov (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nikita Koksharov updated TAPESTRY-2107:
---------------------------------------

    Description: 
It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:

    public void addServiceDef(ServiceDef serviceDef)
    {
        String serviceId = serviceDef.getServiceId();
        ServiceDef existing = _serviceDefs.get(serviceId);
        if (existing != null)
        {
            _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
            return;
        }
        _serviceDefs.put(serviceId, serviceDef);
    }

This can be resolved by introduction the "rebind" method to ServiceBinder.

  was:
It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:

    public void addServiceDef(ServiceDef serviceDef)
    {
        String serviceId = serviceDef.getServiceId();
        ServiceDef existing = _serviceDefs.get(serviceId);
        if (existing != null)
        {
            _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
            return;
        }
        _serviceDefs.put(serviceId, serviceDef);
    }


> Ability to rebind services.
> ---------------------------
>
>                 Key: TAPESTRY-2107
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2107
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.9
>            Reporter: Nikita Koksharov
>             Fix For: 5.0.10
>
>
> It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:
>     public void addServiceDef(ServiceDef serviceDef)
>     {
>         String serviceId = serviceDef.getServiceId();
>         ServiceDef existing = _serviceDefs.get(serviceId);
>         if (existing != null)
>         {
>             _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
>             return;
>         }
>         _serviceDefs.put(serviceId, serviceDef);
>     }
> This can be resolved by introduction the "rebind" method to ServiceBinder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2107) Ability to rebind services

Posted by "Nikita Koksharov (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nikita Koksharov updated TAPESTRY-2107:
---------------------------------------

    Summary: Ability to rebind services  (was: Ability to rebind services.)

> Ability to rebind services
> --------------------------
>
>                 Key: TAPESTRY-2107
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2107
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.9
>            Reporter: Nikita Koksharov
>             Fix For: 5.0.10
>
>
> It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:
>     public void addServiceDef(ServiceDef serviceDef)
>     {
>         String serviceId = serviceDef.getServiceId();
>         ServiceDef existing = _serviceDefs.get(serviceId);
>         if (existing != null)
>         {
>             _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
>             return;
>         }
>         _serviceDefs.put(serviceId, serviceDef);
>     }
> This can be resolved by introduction the "rebind" method to ServiceBinder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Closed: (TAPESTRY-2107) Ability to rebind services

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2107.
------------------------------------------

       Resolution: Invalid
    Fix Version/s:     (was: 5.0.10)
         Assignee: Howard M. Lewis Ship

Tapestry has other mechanisms to allow you to effectively replace an existing service with another implementation; usually you can continue to reference to original service as well.  This is one of the functions of the Alias service.  

You can also decorate an existing service to change its behavior.

> Ability to rebind services
> --------------------------
>
>                 Key: TAPESTRY-2107
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2107
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.9
>            Reporter: Nikita Koksharov
>            Assignee: Howard M. Lewis Ship
>
> It's necessary to add possibility for rebinding already binded services. Because of current code does't allow this:
>     public void addServiceDef(ServiceDef serviceDef)
>     {
>         String serviceId = serviceDef.getServiceId();
>         ServiceDef existing = _serviceDefs.get(serviceId);
>         if (existing != null)
>         {
>             _logger.warn(buildMethodConflict(serviceDef.toString(), existing.toString()));
>             return;
>         }
>         _serviceDefs.put(serviceId, serviceDef);
>     }
> This can be resolved by introduction the "rebind" method to ServiceBinder.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org