001    package org.apache.maven.scm.provider.accurev.cli;
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.provider.accurev.AccuRevInfo;
023    import org.codehaus.plexus.util.cli.StreamConsumer;
024    
025    public class InfoConsumer
026        implements StreamConsumer
027    {
028    
029        private AccuRevInfo info;
030    
031        public InfoConsumer( AccuRevInfo info )
032        {
033            this.info = info;
034        }
035    
036        public void consumeLine( String line )
037        {
038            String[] tokens = line.split( "\\s*:\\s*", 2 );
039            if ( tokens[0].equals( "Principal" ) )
040            {
041                info.setUser( tokens[1] );
042            }
043            else if ( tokens[0].equals( "Basis" ) )
044            {
045                info.setBasis( tokens[1] );
046            }
047            else if ( tokens[0].startsWith( "Workspace" ) )
048            {
049                info.setWorkSpace( tokens[1] );
050            }
051            else if ( tokens[0].equals( "Top" ) )
052            {
053                info.setTop( tokens[1] );
054            }
055    
056            else if ( tokens[0].equals( "Server name" ) )
057            {
058                info.setServer( tokens[1] );
059            }
060            else if ( tokens[0].equals( "Port" ) )
061            {
062                info.setPort( Integer.parseInt( tokens[1] ) );
063            }
064    
065        }
066    
067    }