All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.st.p2012.mind.DefinitionTreeDocumentationGenerator Maven / Gradle / Ivy

The newest version!
/**
   \file com/st/p2012/mind/DefinitionTreeDocumentationGenerator.java
   \brief A class to generate the documentation pages for an every ADL files in a list of directories.


   
   \n
   This file is part of the Platform 2012 program,
   a cooperation between STMicroelectronics and CEA.\n
   Redistribution of this file to outside parties is
   strictly prohibited without the written consent
   of the module owner indicated below.\n
   

   \par  Module owner: [email protected]


   \par  Copyright (C) 2009 STMicroelectronics

   \par  Authors: [email protected]

   \par  Id: $Id$
   \par  Date: $Date$
   \par  Revision: $Rev$

 */
package com.st.p2012.mind;

import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;

import org.apache.commons.io.DirectoryWalker;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.objectweb.fractal.adl.ADLException;


public class DefinitionTreeDocumentationGenerator extends DirectoryWalker {
  private final File sourceDirectories[];

  public DefinitionTreeDocumentationGenerator(final File sourceDirectories[]) {
    super(FileFilterUtils.trueFileFilter(),
        FileFilterUtils.orFileFilter(FileFilterUtils.suffixFileFilter(".adl"),
            FileFilterUtils.suffixFileFilter(".itf")),
        -1);
    this.sourceDirectories = sourceDirectories;
  }

  public void generateDocumentation(final File targetDirectory) throws IOException, ADLException, InterruptedException {
    for (final File rootDirectory : sourceDirectories) {
      final List definitions = new LinkedList();
      walk(rootDirectory, definitions);
      final DefinitionDocumentGenerator generator = new DefinitionDocumentGenerator(sourceDirectories, rootDirectory, targetDirectory);
      for (final File definition : definitions) {
        final String definitionName = HTMLDocumentationHelper.getDefinitionName(rootDirectory.getCanonicalPath(), definition.getCanonicalPath());
        Launcher.logger.finer("Generating documentation for " + definitionName);
        if(definition.getName().endsWith(".adl")) {
          generator.generateADLDocumentation(definitionName);
        } else if(definition.getName().endsWith(".itf")) {
          generator.generateIDLDocumentation(definitionName);
        }
      }
    }
  }

  @SuppressWarnings("unchecked")
  @Override
  protected void handleFile(final File file, final int depth, final Collection results)
  throws IOException {
    results.add(file);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy