[ 
http://jira.codehaus.org/browse/DOXIA-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vincent Siveton closed DOXIA-109.
---------------------------------

         Assignee: Vincent Siveton
       Resolution: Fixed
    Fix Version/s: 1.0-alpha-9

Applied patches with some modifications: code format, using 
StringUtils.isNotEmpty() and StringBuffer

The next time, please attach a patch. Thanks!

> Add Macro to support SWF (Flash) within APT
> -------------------------------------------
>
>                 Key: DOXIA-109
>                 URL: http://jira.codehaus.org/browse/DOXIA-109
>             Project: doxia
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.0-alpha-8
>         Environment: Java code.
>            Reporter: Steve Motola
>            Assignee: Vincent Siveton
>            Priority: Trivial
>             Fix For: 1.0-alpha-9
>
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> Created SwfMacro to support SWF files within APT documentation.  Needs some 
> refinement but functional.
> Below is rough code to go in:
>   /doxia-1.0-alpha-8/doxia-core/src/main/java/org/apache/maven/doxia/macro
> (or more recent builds, i only found access to alpha-8)
> package org.apache.maven.doxia.macro;
> /*
>  * Copyright 2004-2006 The Apache Software Foundation.
>  *
>  * 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.
>  */
> import org.apache.maven.doxia.sink.Sink;
> import java.util.Iterator;
> /**
>  * Macro for embedding Flash (SWF) within Maven documentation.
>  * 
>  * @plexus.component role="org.apache.maven.doxia.macro.Macro"
>  * role-hint="swf"
>  */
> public class SwfMacro
>     extends AbstractMacro
> {
>     private static final String EOL = System.getProperty( "line.separator" );
>     public void execute( Sink sink, MacroRequest request )
>     {
>       // TODO: at what point to throw exceptions if some required information
>       //   is not provided?
>       
>       // parameter defaults
>       String src = "";
>       String id = "swf";
>       String width = "400";
>       String height = "400";
>       String quality = "high";
>       String menu = "false";
>       String loop = "0";
>       String play = "true";
>       String version = "9,0,45,0";
>       String allowScript = "sameDomain";  
>       
>       // assign parameters
>       for ( Iterator i = request.getParameters().keySet().iterator(); 
> i.hasNext(); )
>         {
>               String str = "";
>             String key = (String) i.next();
>             if(key.equals("src")) { 
>               str = (String) request.getParameter(key);
>               if(str != "") {
>                       src = str;
>               }
>             }
>             if(key.equals("id")) { 
>               str = (String) request.getParameter(key);
>               if(str != "") {
>                       id = str;
>               }
>             }
>             if(key.equals("width")) {
>               width = (String) request.getParameter(key);
>               if(str != "") {
>                       width = str;
>               }
>             }
>             if(key.equals("height")) {
>               str = (String) request.getParameter(key);
>               if(str != "") {
>                       height = str;
>               }            
>             }
>             if(key.equals("quality")) {
>               str = (String) request.getParameter(key);
>               if(str != "") {
>                       quality = str;
>               }
>             }
>             if(key.equals("menu")) {
>               str = (String) request.getParameter(key);
>               if(str != "") {
>                       menu = str;
>               }            
>             }
>             if(key.equals("loop")) {
>               str = (String) request.getParameter(key); 
>               if(str != "") {
>                       loop = str;
>               }            
>             }
>             if(key.equals("play")) {
>               str = (String) request.getParameter(key); 
>               if(str != "") {
>                       play = str;
>               }            
>             }
>             if(key.equals("version")) { 
>               str = (String) request.getParameter(key);
>               // enable version shorthand
>               // TODO: put in other shorthand versions
>               if(str.equals("6")) {
>                       version = "6,0,29,0";
>               } else {
>               if(str.equals("9")) {
>                       version = "9,0,45,0";
>               } else {        
>               if(str != "") {
>                       version = str;
>               } } }
>             }
>             if(key.equals("allowScript")) {
>               str = (String) request.getParameter(key); 
>               if(str != "") {
>                       allowScript = str;
>               }            
>             }
>         }
>       
>       String content = "<center>" +
>               "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' 
> codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=";
>  + version + "' width='" + width + "' height='" + height + "' id='" + id + 
> "'>" +
>               "<param name='movie' value='" + src + ".swf'>" +
>               "<param name='quality' value='" + quality + "'>" +
>               "<param name='menu' value='" + menu + "'>" +
>               "<param name='loop' value='" + loop + "'>" +
>               "<param name='play' value='" + play + "'>" +
>               "<param name='allowScriptAccess' value='" + allowScript + "'>" +
>               "<embed src='" + src + ".swf' width='" + width + "' height='" + 
> height + "' loop='" + loop + "' play='" + play + "' quality='" + quality + "' 
> allowScriptAccess='" + allowScript + "' " + 
>                               
> "pluginspage='http://www.macromedia.com/go/getflashplayer' 
> type='application/x-shockwave-flash' menu='" + menu + "'></embed>" +
>               "</object>" +
>               "</center>";
>       
>         sink.rawText(content);
>         
>     }
>     
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to