001    package org.apache.maven.scm.provider.jazz.command.branch;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     * http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    import org.apache.maven.scm.ScmException;
023    import org.apache.maven.scm.ScmFileSet;
024    import org.apache.maven.scm.ScmResult;
025    import org.apache.maven.scm.command.branch.AbstractBranchCommand;
026    import org.apache.maven.scm.provider.ScmProviderRepository;
027    
028    // STATUS: NOT DONE 
029    //
030    // The current scm command does not have the functionality to create streams.
031    //
032    // Once it does, we will need to figure out how users intend this goal to work in RTC.
033    //
034    // There is no direct equivalent of the "branch" command in RTC.
035    // A branch in RTC is roughly equivalent to a Stream or even a Repository Workspace, depending on how
036    // the flow targets have been defined, thus the branch command could be used to create a new Stream or
037    // Repository Workspace. The RTC command "create" can be used to create new Repository Workspaces.
038    // Note however the creation of a new stream from the command line is not supported. 
039    //
040    // See the following links for additional information on the RTC "create" command:
041    // RTC 2.0.0.2:
042    // http://publib.boulder.ibm.com/infocenter/rtc/v2r0m0/topic/com.ibm.team.scm.doc/topics/r_scm_cli_create.html
043    // RTC 3.0:
044    // http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0/topic/com.ibm.team.scm.doc/topics/r_scm_cli_create.html
045    // RTC 3.0.1:
046    // http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0m1/topic/com.ibm.team.scm.doc/topics/r_scm_cli_create.html
047    //
048    
049    /**
050     * @author <a href="mailto:ChrisGWarp@gmail.com">Chris Graham</a>
051     */
052    public class JazzBranchCommand
053        extends AbstractBranchCommand
054    {
055        /**
056         * {@inheritDoc}
057         */
058        protected ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch,
059                                                  String message )
060            throws ScmException
061        {
062            throw new ScmException( "This provider does not support the branch command." );
063        }
064    }