Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2012 JBoss Inc
  *
  * Licensed 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.kie.workbench.common.services.datamodel.backend.server.builder.util;
import  org.kie.commons.data.Pair;
Utility methods to parse Globals
public final class GlobalsParser {
    private static String KEYWORD = "global";
    private GlobalsParser() {
    }

    
Parse global definitions from String

Parameters:
content
Returns:
A List of Global definitions; k1=alias, k2=className
    public static List<Pair<StringString>> parseGlobalsfinal String content ) {
        final List<Pair<StringString>> globals = new ArrayList<Pair<StringString>>();
        if ( content == null || content.isEmpty() ) {
            return globals;
        } else {
            final String[] lines = content.split"\\n" );
            for ( int i = 0; i < lines.lengthi++ ) {
                final String line = linesi ].trim();
                final Pair<StringStringg = parseGloballine );
                if ( g != null ) {
                    globals.add( g );
                }
            }
        }
        return globals;
    }
    private static Pair<StringStringparseGlobalfinal String line ) {
        if ( line.equals"" ) || line.startsWith"#" ) ) {
            return null;
        }
        //Replace multiple spaces with single spaces
        final String compactedLine = line.replaceAll"^ +| +$|( )+""$1" );
        final String[] fragments = compactedLine.split" " );
        if ( fragments.length != 3 ) {
            return null;
        }
        if ( !fragments[ 0 ].equalsIgnoreCase ) ) {
            return null;
        }
        final String className = fragments[ 1 ];
        final String alias = stripSemiColonfragments[ 2 ] );
        final Pair<StringStringg = new Pair<StringString>( alias,
                                                                 className );
        return g;
    }
    private static String stripSemiColonfinal String className ) {
        if ( className.endsWith";" ) ) {
            return className.substring( 0, className.indexOf";" ) );
        }
        return className;
    }
New to GrepCode? Check out our FAQ X