Hi Hatjhie,

I don't think #stop is implemented either.
If you have the time and wiliness you may want to implement that one
too :)

Cheers
John



On Mar 22, 8:59 pm, hatjhie <[email protected]> wrote:
> Hi Mauricio,
>
> Sorry for asking noob question.
>
> I have created the trunk which is here:
>
> https://github.com/hatjhie/NVelocity/tree/master/src/NVelocity/Runtim...
>
> However I'm still figuring out how to add new file inside there.
>
> I tried, googled, and found thishttp://nathanj.github.com/gitguide/tour.html
>
> I've used the Git Gui but no luck, it's denied. The tool asked me
> about the public key, which I don't know how to get it.
>
> Should it be any other way beside this?
>
> Thanks a lot for your helps!
>
> Best Regards,
> Hatjhie
>
> On Mar 22, 2:15 pm, Mauricio Scheffer <[email protected]>
> wrote:
>
>
>
>
>
>
>
> > Can you push your changes to a fork in github, so we can review them?
> > Also, you should only catch BreakException, not all exceptions.
>
> > --
> > Mauricio
>
> > On Tue, Mar 22, 2011 at 2:24 AM, hatjhie <[email protected]> wrote:
> > > Hi All,
>
> > > I have changed accordingly based on the java file in JIRA, but I've
> > > encountered this problem
>
> > > Encountered "\r\n" at line 37, column 31.Was expecting one of:
> > > "(" ...    <WH
> > > ITESPACE> ... when I use my "#break"
>
> > > :D
>
> > > Break.cs
>
> > > namespace NVelocity.Runtime.Directive
> > > {
> > >    public class Break : Directive
> > >    {
> > >        /**
> > >         *  simple init - init the tree and get the elementKey from
> > >         *  the AST
> > >         * @param rs
> > >         * @param context
> > >         * @param node
> > >         * @throws TemplateInitException
> > >         */
> > >        public override void Init(IRuntimeServices rs,
> > > IInternalContextAdapter context, INode node)
> > >        //throws TemplateInitException
> > >        {
> > >            base.Init(rs, context, node);
> > >        }
>
> > >        public override string Name
> > >        {
> > >            get
> > >            {
> > >                return "break";
> > >            }
> > >            set { throw new NotSupportedException(); }
> > >        }
>
> > >        /**
> > >         * Return type of this directive.
> > >         * @return The type of this directive.
> > >         */
> > >        public override DirectiveType Type
> > >        {
> > >            get
> > >            {
> > >                return DirectiveType.LINE;
> > >            }
> > >        }
>
> > >        /**
> > >         * Break directive does not actually do any rendering.
> > >         *
> > >         * This directive throws a BreakException (RuntimeException)
> > > which
> > >         * signals foreach directive to break out of the loop. Note
> > > that this
> > >         * directive does not verify that it is being called inside a
> > > foreach
> > >         * loop.
> > >         *
> > >         * @param context
> > >         * @param writer
> > >         * @param node
> > >         * @return true if the directive rendered successfully.
> > >         * @throws IOException
> > >         * @throws MethodInvocationException
> > >         * @throws ResourceNotFoundException
> > >         * @throws ParseErrorException
> > >         */
> > >        public override bool Render(IInternalContextAdapter context,
> > > TextWriter writer, NVelocity.Runtime.Parser.Node.INode node)
> > >        {
> > >            throw new BreakException();
> > >        }
> > >    }
>
> > >    public class BreakException : System.Exception
> > >    {
>
> > >    }
> > > }
>
> > > and in the Foreach.cs, I modified this part:
>
> > > try
> > >                    {
> > >                        if (isFancyLoop)
> > >                        {
> > >                            if (counter == counterInitialValue)
> > >                            {
>
> > > ProcessSection(ForeachSectionEnum.BeforeAll, sections, context,
> > > writer);
> > >                            }
> > >                            else
> > >                            {
>
> > > ProcessSection(ForeachSectionEnum.Between, sections, context, writer);
> > >                            }
>
> > >                            ProcessSection(ForeachSectionEnum.Before,
> > > sections, context, writer);
>
> > >                            // since 1st item is zero we invert odd/
> > > even
> > >                            if ((counter - counterInitialValue) % 2 ==
> > > 0)
> > >                            {
> > >                                ProcessSection(ForeachSectionEnum.Odd,
> > > sections, context, writer);
> > >                            }
> > >                            else
> > >                            {
>
> > > ProcessSection(ForeachSectionEnum.Even, sections, context, writer);
> > >                            }
>
> > >                            ProcessSection(ForeachSectionEnum.Each,
> > > sections, context, writer);
>
> > >                            ProcessSection(ForeachSectionEnum.After,
> > > sections, context, writer);
> > >                        }
> > >                        else
> > >                        {
> > >                            bodyNode.Render(context, writer);
> > >                        }
> > >                    }
> > >                    catch
> > >                    {
> > >                        bodyNode.Render(context, writer);
> > >                        break;
> > >                    }
> > >                    counter++;
>
> > > Any suggestion about this? I'm very new about this NVelocity but I
> > > found that the component's very useful :D
>
> > > Thanks for your helps
>
> > > Best Regards,
> > > Hatjhie
>
> > > On Mar 22, 11:02 am, hatjhie <[email protected]> wrote:
> > > > Hi Mauricio,
>
> > > > Thanks a lot for your helps.
>
> > > > I'll try this and once I've tried, I'll update the result.
>
> > > > Best Regards,
> > > > Hatjhie
>
> > > > On Mar 22, 10:00 am, Mauricio Scheffer <[email protected]>
> > > > wrote:
>
> > > > > There are two attached files in the JIRA issue, they implement the
> > > feature
> > > > > in Apache Velocity.
> > > > > Download these patches and port them to .NET and NVelocity.
> > > > > NVelocity source code is here:
> > >https://github.com/castleproject/NVelocity
>
> > > > > Cheers,
> > > > > Mauricio
>
> > > > > On Mon, Mar 21, 2011 at 10:49 PM, hatjhie <[email protected]>
> > > wrote:
> > > > > > Hi All,
>
> > > > > > Thanks for your kind response.
>
> > > > > > I read that there is a break statement in
>
> > >http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html
>
> > > > > > However, I'm using Castle NVelocity whose version is 1.1.1.0 for 
> > > > > > .NET
> > > > > > Framework.
>
> > > > > > Any idea how to implement
> > > > > >https://issues.apache.org/jira/browse/VELOCITY-612
> > > > > > in Castle NVelocity?
>
> > > > > > Thanks a lot for your helps.
>
> > > > > > Best Regards,
> > > > > > Hatjhie
>
> > > > > > On Mar 21, 9:39 pm, Mauricio Scheffer <[email protected]>
> > > > > > wrote:
> > > > > > > TTBOMK #break is not implemented in NVelocity, you might be
> > > interested in
> > > > > > > porting it from Apache Velocity (seehttps://
> > > > > > issues.apache.org/jira/browse/VELOCITY-612)
> > > > > > > I agree with Patrick though, it's best if you can filter your data
> > > before
> > > > > > > feeding it to the template...
>
> > > > > > > --
> > > > > > > Mauricio
>
> > > > > > > On Mon, Mar 21, 2011 at 5:35 AM, hatjhie <
> > > [email protected]>
> > > > > > wrote:
> > > > > > > > Hi All,
>
> > > > > > > > In NVelocity, it seems like #break operator is not working in my
> > > side.
>
> > > > > > > > Is it not supported yet in this version or should I do any setup
> > > > > > > > before I use it?
>
> > > > > > > > Thanks for your helps.
>
> > > > > > > > Best Regards,
> > > > > > > > Hatjhie
>
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the
> > > Google
> > > > > > Groups
> > > > > > > > "Castle Project Users" 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/castle-project-users?hl=en.
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > Groups
> > > > > > "Castle Project Users" 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/castle-project-users?hl=en.
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Castle Project Users" 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/castle-project-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" 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/castle-project-users?hl=en.

Reply via email to