Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2006-2014 smartics, Kronseder & Reiner GmbH
   *
   * 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 com.redhat.rcm.maven.plugin.buildmetadata.util;
 
 import java.io.File;
 import java.util.Map;
 
Helper to write the Manifest to.
 
 public class ManifestHelper
 {
   // ********************************* Fields *********************************
 
   // --- constants ------------------------------------------------------------
 
   // --- members --------------------------------------------------------------
 
  
The maximum length of a key in a Manifest file.
 
   private static final int MANIFEST_KEY_MAX_LENGTH = 70;

  
The location to write the manifest to.
 
   private final File manifestFile;

  
The section to add the keys in the manifest.
 
   private final String manifestSection;
 
   // ****************************** Initializer *******************************
 
   // ****************************** Constructors ******************************
 
  
Default constructor.

Parameters:
manifestFile the location to write the manifest to.
manifestSection the section to add the keys in the manifest.
 
   public ManifestHelper(final File manifestFilefinal String manifestSection)
   {
     this. = manifestFile;
     this. = manifestSection;
   }
 
   // ****************************** Inner Classes *****************************
 
   // ********************************* Methods ********************************
 
   // --- init -----------------------------------------------------------------
 
   // --- get&set --------------------------------------------------------------
 
   // --- business -------------------------------------------------------------
 
  
Creates a Manifest file based on the given properties.

Parameters:
buildMetaDataProperties the properties to add to the Manifest file to be written.
Throws:
java.io.IOException on any problem writing the file.
 
   public void createManifest(final Properties buildMetaDataProperties)
     throws IOException
   {
     final Manifest manifest = createManifestInstance(buildMetaDataProperties);
 
     OutputStream out = null;
     try
     {
      out = new BufferedOutputStream(new FileOutputStream());
      manifest.write(out);
    }
    finally
    {
      IOUtils.closeQuietly(out);
    }
  }
      final Properties buildMetaDataProperties)
  {
    final Manifest manifest = new Manifest();
    final Attributes attributes = fetchAttributes(manifest);
    for (final Map.Entry<ObjectObjectentry : buildMetaDataProperties
        .entrySet())
    {
      final String key = ObjectUtils.toString(entry.getKey(), null);
      if (key.length() > )
      {
        continue;
      }
      final String normalizedKey = normalize(key);
      final String value = ObjectUtils.toString(entry.getValue(), null);
      attributes.putValue(normalizedKeyvalue);
    }
    return manifest;
  }
  private Attributes fetchAttributes(final Manifest manifest)
  {
    if (StringUtils.isBlank() || "Main".equals())
    {
      return manifest.getMainAttributes();
    }
    Attributes attributes = manifest.getAttributes();
    if (attributes == null)
    {
      attributes = new Attributes();
      manifest.getEntries().put(attributes);
    }
    return attributes;
  }
  private static String normalize(final String key)
  {
    final int length = key.length();
    final StringBuilder buffer = new StringBuilder(length);
    for (int i = 0; i < lengthi++)
    {
      final char ch = key.charAt(i);
      if (CharUtils.isAsciiAlphanumeric(ch) || ch == '-' || ch == '_')
      {
        buffer.append(ch);
      }
      else
      {
        buffer.append('_');
      }
    }
    return buffer.toString();
  }
  // --- object basics --------------------------------------------------------
New to GrepCode? Check out our FAQ X