manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Wright <daddy...@gmail.com>
Subject Re: [Io Activity] Doing an update inside a delete document
Date Mon, 07 Jul 2014 10:04:05 GMT
Hi Alessandro,

As stated I don't have a good answer for you.  If you tell me more broadly
what you are trying to do I may be able to propose something better.

Karl



On Mon, Jul 7, 2014 at 5:33 AM, Alessandro Benedetti <
benedetti.alex85@gmail.com> wrote:

> Hi Karl,
>  thank you for the support but your solution is not possible, because my
> case is the following :
>
> *Custom Output Connector*
> removeDocument is calling the addOrReplaceDocument method in a generic
> BaseOutputConnector.
> addOrReplaceDocument is calling the the addOrReplaceDocument method in a
> generic BaseOutputConnector.
>
> So in this scenario the only way to follow your strategy should be to
> create in the BaseOutputConnector and in all the implementations the new
> method accepting the "in common" ancestor for the activity Class.
>
> But i don't want to do this, because I don't want to hack the other
> Manifold code ...
>
> So I know that the hierarchy of activities is quite coupled with the
> function they are tracking.
> Which can be the most elegant solution karl in your opinion to satisfy this
> requirement ?
>
> Right now in the removeDocument I use a EmptyOutputAddActivity implements
> IOutputAddActivity ( custom class)
> But would be great to achieve the same using some standard manifold
> structure.
>
> Cheers
>
>
>
>
>
> 2014-07-02 11:31 GMT+01:00 Karl Wright <daddywri@gmail.com>:
>
> > Hi Alessandro,
> >
> > You cannot just cast because there are different services in each
> > interface.  However, they are derived from common interfaces.  For
> example,
> >
> > public interface IOutputAddActivity extends
> > IOutputQualifyActivity,IOutputHistoryActivity,IOutputCheckActivity
> >
> > public interface IOutputRemoveActivity extends IOutputHistoryActivity
> >
> >
> > The only one in common is IOutputHistoryActivity, so as long as your
> > addOrReplace method is calling IOutputHistoryActivity methods only, you
> can
> > write a second method that accepts just IOutputHistoryActivity and call
> > that from addOrReplace AND from deleteDocument.
> >
> > Karl
> >
> >
> > On Wed, Jul 2, 2014 at 6:13 AM, Alessandro Benedetti <
> > benedetti.alex85@gmail.com> wrote:
> >
> > > 2014-07-02 11:04 GMT+01:00 Karl Wright <daddywri@gmail.com>:
> > >
> > > > Hi Alessandro,
> > > >
> > > > The "activities" metaphor is simply to make available appropriate
> > > framework
> > > > services to specific connector methods.  The metaphor is good for
> > > > ManifoldCF because it allows services to be added in new releases
> > without
> > > > upsetting backwards compatibility etc.
> > > >
> > > > If you have a "deleteDocument" implementation that is trying to call
> an
> > > > "addOrReplaceDocument" method, this can *only* work if the services
> you
> > > are
> > > > using in the addOrReplaceDocument method do not include any of those
> > that
> > > > are not in IOutputDeleteActivity.  If that is the case, you should be
> > > able
> > > > to write a common method which accepts the appropriate common parent
> > > > interface of IOutputAddActivity and IOutputDeleteActivity.  If not,
> you
> > > > will have to rethink how you are doing this.
> > > >
> > >
> > > Ok, assuming I don't want to include any further services.
> > > I have in the deleteDocument, the IOutputDeleteActivity but the
> > > addOrReplaceDocument is taking the IOutputAddActivity.
> > > Which is the proper way to instantiate IOutputAddActivity from
> > > the IOutputDeleteActivity ?
> > > Because they are different interfaces and i don't know exactly which
> > > implementation arrives there, should I do a hardcoded casting ?
> > > Or what else?
> > > Thank you very much for your time,
> > >
> > > Cheers
> > >
> > >
> > > >
> > > > Thanks,
> > > > Karl
> > > >
> > > >
> > > >
> > > > On Wed, Jul 2, 2014 at 5:17 AM, Alessandro Benedetti <
> > > > benedetti.alex85@gmail.com> wrote:
> > > >
> > > > > Hi guys,
> > > > > I'm trying to implement a specific logic in a custom output
> connector
> > > > > where, under specific conditions, in the deleteDocument method is
> > then
> > > > > called an AddOrUpdate method.
> > > > >
> > > > > This can happen when the deletion of a document  causes the update
> of
> > > > other
> > > > > documents already indexed.
> > > > > I know is a very specific use case, but let's see if there is a
> > > solution
> > > > > ...
> > > > > So far no problem until I reach the Activities management ...
> > > > > I found the hierarchy of this objects really confusing, with a lot
> of
> > > > > interfaces and different inner classes sparse in the code.
> > > > >
> > > > > Furthermore it appears to be really hard to create an
> > > > *IOutputAddActivity*
> > > > > object where you have a IOutputDeleteActivity.
> > > > >
> > > > > What can be the best way to instantiate correctly an
> > > > > *IOutputAddActivity *inside
> > > > > the DeleteDocument method *?*
> > > > > Why this activities objects that seems a sort of logging/tracking
> > > feature
> > > > > is such coupled with the logic ?
> > > > >
> > > > > Thank's for the help
> > > > > --
> > > > > --------------------------
> > > > >
> > > > > Benedetti Alessandro
> > > > > Visiting card : http://about.me/alessandro_benedetti
> > > > >
> > > > > "Tyger, tyger burning bright
> > > > > In the forests of the night,
> > > > > What immortal hand or eye
> > > > > Could frame thy fearful symmetry?"
> > > > >
> > > > > William Blake - Songs of Experience -1794 England
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > --------------------------
> > >
> > > Benedetti Alessandro
> > > Visiting card : http://about.me/alessandro_benedetti
> > >
> > > "Tyger, tyger burning bright
> > > In the forests of the night,
> > > What immortal hand or eye
> > > Could frame thy fearful symmetry?"
> > >
> > > William Blake - Songs of Experience -1794 England
> > >
> >
>
>
>
> --
> --------------------------
>
> Benedetti Alessandro
> Visiting card : http://about.me/alessandro_benedetti
>
> "Tyger, tyger burning bright
> In the forests of the night,
> What immortal hand or eye
> Could frame thy fearful symmetry?"
>
> William Blake - Songs of Experience -1794 England
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message