You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Guillaume Nodet <gn...@gmail.com> on 2008/12/19 15:45:21 UTC
Re: svn commit: r727321 - in /geronimo/gshell/trunk: gshell-api/src/main/java/org/apache/geronimo/gshell/command/ gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/command/ gshell-wisdom/gshell-wisdom-core/src/main/java
I will start deploying a new snapshot now.
On Fri, Dec 19, 2008 at 14:41, Gert Vanthienen
<ge...@skynet.be> wrote:
>
> L.S.,
>
> Do you have any idea when we will have a -SNAPSHOT available on
> people.apache.org that contains this change? The last gshell-api SNAPSHOT
> available at
> http://people.apache.org/repo/m2-snapshot-repository/org/apache/geronimo/gshell/gshell-api/1.0-alpha-2-SNAPSHOT/
> seems to be over a week old.
>
> Regards,
>
> Gert
>
>
> Jason Dillon wrote:
>>
>> Thx :-)
>>
>> --jason
>>
>>
>> On Dec 17, 2008, at 4:31 PM, gnodet@apache.org wrote:
>>
>>> Author: gnodet
>>> Date: Wed Dec 17 01:31:44 2008
>>> New Revision: 727321
>>>
>>> URL: http://svn.apache.org/viewvc?rev=727321&view=rev
>>> Log:
>>> GSHELL-154: Create interfaces to represent links and aliases
>>>
>>> Added:
>>> geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Alias.java
>>> geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Link.java
>>> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/AliasImpl.java
>>> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/LinkImpl.java
>>> Modified:
>>> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/config/PluginParser.java
>>> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/plugin/bundle/
>>> CommandBundle.java
>>>
>>> Added: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Alias.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Alias.java?rev=727321&view=auto
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Alias.java (added)
>>> +++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Alias.java Wed Dec 17 01:31:44 2008
>>> @@ -0,0 +1,33 @@
>>> +/*
>>> + * Licensed to the Apache Software Foundation (ASF) under one
>>> + * or more contributor license agreements. See the NOTICE file
>>> + * distributed with this work for additional information
>>> + * regarding copyright ownership. The ASF licenses this file
>>> + * to you under the Apache License, Version 2.0 (the
>>> + * "License"); you may not use this file except in compliance
>>> + * with the License. You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing,
>>> + * software distributed under the License is distributed on an
>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> + * KIND, either express or implied. See the License for the
>>> + * specific language governing permissions and limitations
>>> + * under the License.
>>> + */
>>> +
>>> +package org.apache.geronimo.gshell.command;
>>> +
>>> +/**
>>> + * Convenient way to register an alias.
>>> + *
>>> + * @version $Rev: 705507 $ $Date: 2008-10-17 10:22:12 +0200 (Fri,
>>> 17 Oct 2008) $
>>> + */
>>> +public interface Alias {
>>> +
>>> + String getName();
>>> +
>>> + String getAlias();
>>> +
>>> +}
>>>
>>> Added: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Link.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Link.java?rev=727321&view=auto
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Link.java (added)
>>> +++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/
>>> geronimo/gshell/command/Link.java Wed Dec 17 01:31:44 2008
>>> @@ -0,0 +1,33 @@
>>> +/*
>>> + * Licensed to the Apache Software Foundation (ASF) under one
>>> + * or more contributor license agreements. See the NOTICE file
>>> + * distributed with this work for additional information
>>> + * regarding copyright ownership. The ASF licenses this file
>>> + * to you under the Apache License, Version 2.0 (the
>>> + * "License"); you may not use this file except in compliance
>>> + * with the License. You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing,
>>> + * software distributed under the License is distributed on an
>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> + * KIND, either express or implied. See the License for the
>>> + * specific language governing permissions and limitations
>>> + * under the License.
>>> + */
>>> +
>>> +package org.apache.geronimo.gshell.command;
>>> +
>>> +/**
>>> + * Provides a convenient way to register a link
>>> + *
>>> + * @version $Rev: 705507 $ $Date: 2008-10-17 10:22:12 +0200 (Fri,
>>> 17 Oct 2008) $
>>> + */
>>> +public interface Link {
>>> +
>>> + String getName();
>>> +
>>> + String getTarget();
>>> +
>>> +}
>>>
>>> Added: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/
>>> main/java/org/apache/geronimo/gshell/wisdom/command/AliasImpl.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/command/AliasImpl.java?rev=727321&view=auto
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/AliasImpl.java (added)
>>> +++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/AliasImpl.java Wed
>>> Dec 17 01:31:44 2008
>>> @@ -0,0 +1,47 @@
>>> +/*
>>> + * Licensed to the Apache Software Foundation (ASF) under one
>>> + * or more contributor license agreements. See the NOTICE file
>>> + * distributed with this work for additional information
>>> + * regarding copyright ownership. The ASF licenses this file
>>> + * to you under the Apache License, Version 2.0 (the
>>> + * "License"); you may not use this file except in compliance
>>> + * with the License. You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing,
>>> + * software distributed under the License is distributed on an
>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> + * KIND, either express or implied. See the License for the
>>> + * specific language governing permissions and limitations
>>> + * under the License.
>>> + */
>>> +
>>> +
>>> +package org.apache.geronimo.gshell.wisdom.command;
>>> +
>>> +import org.apache.geronimo.gshell.command.Alias;
>>> +
>>> +/**
>>> + * Simpe implementation of {@link Alias} interface.
>>> + *
>>> + * @version $Rev: 706889 $ $Date: 2008-10-22 10:12:04 +0200 (Wed,
>>> 22 Oct 2008) $
>>> + */
>>> +public class AliasImpl implements Alias {
>>> +
>>> + private String name;
>>> + private String alias;
>>> +
>>> + public AliasImpl(String name, String alias) {
>>> + this.name = name;
>>> + this.alias = alias;
>>> + }
>>> +
>>> + public String getName() {
>>> + return name;
>>> + }
>>> +
>>> + public String getAlias() {
>>> + return alias;
>>> + }
>>> +}
>>>
>>> Added: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/
>>> main/java/org/apache/geronimo/gshell/wisdom/command/LinkImpl.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/command/LinkImpl.java?rev=727321&view=auto
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/LinkImpl.java (added)
>>> +++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/command/LinkImpl.java Wed Dec
>>> 17 01:31:44 2008
>>> @@ -0,0 +1,46 @@
>>> +/*
>>> + * Licensed to the Apache Software Foundation (ASF) under one
>>> + * or more contributor license agreements. See the NOTICE file
>>> + * distributed with this work for additional information
>>> + * regarding copyright ownership. The ASF licenses this file
>>> + * to you under the Apache License, Version 2.0 (the
>>> + * "License"); you may not use this file except in compliance
>>> + * with the License. You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing,
>>> + * software distributed under the License is distributed on an
>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> + * KIND, either express or implied. See the License for the
>>> + * specific language governing permissions and limitations
>>> + * under the License.
>>> + */
>>> +
>>> +package org.apache.geronimo.gshell.wisdom.command;
>>> +
>>> +import org.apache.geronimo.gshell.command.Link;
>>> +
>>> +/**
>>> + * Alias {@link org.apache.geronimo.gshell.command.Command}
>>> component.
>>> + *
>>> + * @version $Rev: 706889 $ $Date: 2008-10-22 10:12:04 +0200 (Wed,
>>> 22 Oct 2008) $
>>> + */
>>> +public class LinkImpl implements Link {
>>> +
>>> + private String name;
>>> + private String target;
>>> +
>>> + public LinkImpl(String name, String target) {
>>> + this.name = name;
>>> + this.target = target;
>>> + }
>>> +
>>> + public String getName() {
>>> + return name;
>>> + }
>>> +
>>> + public String getTarget() {
>>> + return target;
>>> + }
>>> +}
>>>
>>> Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/
>>> main/java/org/apache/geronimo/gshell/wisdom/config/PluginParser.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/config/PluginParser.java?rev=727321&r1=727320&r2=727321&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/config/PluginParser.java
>>> (original)
>>> +++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/config/PluginParser.java Wed
>>> Dec 17 01:31:44 2008
>>> @@ -21,8 +21,12 @@
>>>
>>> import
>>> org
>>> .apache.geronimo.gshell.wisdom.command.ConfigurableCommandCompleter;
>>> import org.apache.geronimo.gshell.wisdom.command.LinkCommand;
>>> +import org.apache.geronimo.gshell.wisdom.command.AliasImpl;
>>> +import org.apache.geronimo.gshell.wisdom.command.LinkImpl;
>>> import org.apache.geronimo.gshell.wisdom.plugin.bundle.CommandBundle;
>>> import org.apache.geronimo.gshell.wisdom.registry.CommandLocationImpl;
>>> +import org.apache.geronimo.gshell.command.Alias;
>>> +import org.apache.geronimo.gshell.command.Link;
>>> import org.slf4j.Logger;
>>> import org.slf4j.LoggerFactory;
>>> import org.springframework.beans.factory.BeanDefinitionStoreException;
>>> @@ -103,6 +107,8 @@
>>>
>>> private static final String LINK = "link";
>>>
>>> + private static final String LINKS = "links";
>>> +
>>> private static final String TARGET = "target";
>>>
>>> @Override
>>> @@ -387,13 +393,16 @@
>>> ManagedList commands = new ManagedList();
>>> // noinspection unchecked
>>> commands.addAll(parseCommands(element));
>>> - // noinspection unchecked
>>> - commands.addAll(parseLinks(element));
>>> bundle.addPropertyValue(COMMANDS, commands);
>>>
>>> - ManagedMap aliases = new ManagedMap();
>>> + ManagedList links = new ManagedList();
>>> // noinspection unchecked
>>> - aliases.putAll(parseAliases(element));
>>> + links.addAll(parseLinks(element));
>>> + bundle.addPropertyValue(LINKS, links);
>>> +
>>> + ManagedList aliases = new ManagedList();
>>> + // noinspection unchecked
>>> + aliases.addAll(parseAliases(element));
>>> bundle.addPropertyValue(ALIASES, aliases);
>>>
>>> return bundle;
>>> @@ -543,27 +552,20 @@
>>> // <gshell:link>
>>> //
>>>
>>> - private List<BeanDefinition> parseLinks(final Element
>>> element) {
>>> + private List<Link> parseLinks(final Element element) {
>>> assert element != null;
>>>
>>> log.trace("Parse links; element; {}", element);
>>>
>>> - List<BeanDefinition> links = new
>>> ArrayList<BeanDefinition>();
>>> + List<Link> links = new ArrayList<Link>();
>>>
>>> List<Element> children = getChildElements(element, LINK);
>>>
>>> for (Element child : children) {
>>> - BeanDefinitionBuilder link =
>>> BeanDefinitionBuilder.rootBeanDefinition(LinkCommand.class);
>>> - link.addConstructorArgReference("commandRegistry");
>>> -
>>> link.addConstructorArgValue(child.getAttribute(TARGET));
>>> -
>>> String name = child.getAttribute(NAME);
>>> - BeanDefinition def = new GenericBeanDefinition();
>>> -
>>> def.setBeanClassName(CommandLocationImpl.class.getName());
>>> -
>>> def.getConstructorArgumentValues().addGenericArgumentValue(name);
>>> - link.addPropertyValue(LOCATION, def);
>>> + String target = child.getAttribute(TARGET);
>>>
>>> - links.add(link.getBeanDefinition());
>>> + links.add(new LinkImpl(name, target));
>>> }
>>>
>>> return links;
>>> @@ -573,12 +575,12 @@
>>> // <gshell:alias>
>>> //
>>>
>>> - private Map<String,String> parseAliases(final Element
>>> element) {
>>> + private List<Alias> parseAliases(final Element element) {
>>> assert element != null;
>>>
>>> log.trace("Parse aliases; element; {}", element);
>>>
>>> - Map<String,String> aliases = new
>>> LinkedHashMap<String,String>();
>>> + List<Alias> aliases = new ArrayList<Alias>();
>>>
>>> List<Element> children = getChildElements(element, ALIAS);
>>>
>>> @@ -586,7 +588,7 @@
>>> String name = child.getAttribute(NAME);
>>> String alias = child.getAttribute(ALIAS);
>>>
>>> - aliases.put(name, alias);
>>> + aliases.add(new AliasImpl(name, alias));
>>> }
>>>
>>> return aliases;
>>>
>>> Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/
>>> main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/
>>> CommandBundle.java
>>> URL:
>>> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/plugin/bundle/CommandBundle.java?rev=727321&r1=727320&r2=727321&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> --- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/plugin/bundle/
>>> CommandBundle.java (original)
>>> +++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/
>>> java/org/apache/geronimo/gshell/wisdom/plugin/bundle/
>>> CommandBundle.java Wed Dec 17 01:31:44 2008
>>> @@ -20,11 +20,16 @@
>>> package org.apache.geronimo.gshell.wisdom.plugin.bundle;
>>>
>>> import org.apache.geronimo.gshell.command.Command;
>>> +import org.apache.geronimo.gshell.command.Alias;
>>> +import org.apache.geronimo.gshell.command.Link;
>>> import org.apache.geronimo.gshell.registry.AliasRegistry;
>>> import org.apache.geronimo.gshell.registry.CommandRegistry;
>>> +import org.apache.geronimo.gshell.wisdom.command.LinkCommand;
>>> +import
>>> org.apache.geronimo.gshell.wisdom.registry.CommandLocationImpl;
>>>
>>> import java.util.List;
>>> import java.util.Map;
>>> +import java.util.ArrayList;
>>>
>>> /**
>>> * A bundle of {@link Command} instances.
>>> @@ -40,7 +45,11 @@
>>>
>>> private List<Command> commands;
>>>
>>> - private Map<String,String> aliases;
>>> + private List<Link> links;
>>> +
>>> + private List<Alias> aliases;
>>> +
>>> + private List<Command> linkCommands;
>>>
>>> public CommandBundle(final CommandRegistry commandRegistry,
>>> final AliasRegistry aliasRegistry, final String name) {
>>> super(name);
>>> @@ -60,23 +69,47 @@
>>> this.commands = commands;
>>> }
>>>
>>> - public Map<String, String> getAliases() {
>>> + public List<Link> getLinks() {
>>> + return links;
>>> + }
>>> +
>>> + public void setLinks(List<Link> links) {
>>> + assert links != null;
>>> +
>>> + this.links = links;
>>> + }
>>> +
>>> + public List<Alias> getAliases() {
>>> return aliases;
>>> }
>>>
>>> - public void setAliases(final Map<String,String> aliases) {
>>
>>> + public void setAliases(final List<Alias> aliases) {
>>> assert aliases != null;
>>>
>>> this.aliases = aliases;
>>> }
>>>
>>> protected void doEnable() throws Exception {
>>> + // Create links commands
>>> + if (linkCommands == null) {
>>> + linkCommands = new ArrayList<Command>();
>>> + for (Link link : links) {
>>> + LinkCommand cmd = new LinkCommand(commandRegistry,
>>> link.getTarget());
>>> + cmd.setLocation(new
>>> CommandLocationImpl(link.getName()));
>>> + linkCommands.add(cmd);
>>> + }
>>> + }
>>> +
>>> for (Command command : commands) {
>>> commandRegistry.registerCommand(command);
>>> }
>>>
>>> - for (String name : aliases.keySet()) {
>>> - aliasRegistry.registerAlias(name, aliases.get(name));
>>> + for (Command command : linkCommands) {
>>> + commandRegistry.registerCommand(command);
>>> + }
>>> +
>>> + for (Alias alias : aliases) {
>>> + aliasRegistry.registerAlias(alias.getName(),
>>> alias.getAlias());
>>> }
>>> }
>>>
>>> @@ -85,8 +118,12 @@
>>> commandRegistry.removeCommand(command);
>>> }
>>>
>>> - for (String name : aliases.keySet()) {
>>> - aliasRegistry.removeAlias(name);
>>> + for (Command command : linkCommands) {
>>> + commandRegistry.removeCommand(command);
>>> + }
>>> +
>>> + for (Alias alias : aliases) {
>>> + aliasRegistry.removeAlias(alias.getName());
>>> }
>>> }
>>> }
>>> \ No newline at end of file
>>>
>>>
>>
>>
>>
>
>
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
> --
> View this message in context: http://www.nabble.com/Re%3A-svn-commit%3A-r727321---in--geronimo-gshell-trunk%3A-gshell-api-src-main-java-org-apache-geronimo-gshell-command--gshell-wisdom-gshell-wisdom-core-src-main-java-org-apache-geronimo-gshell-wisdom-command--gshell-wisdom-gshell-wisdom-core-src-main-java-org-a...-tp21067909s134p21091483.html
> Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com