1

JAVA API ( https://docs.atlassian.com/atlassian-confluence/5.3.1/index.html?com/atlassian/confluence/ ) からこのクラスを使用しようとしていますが、適切なドキュメンテーションの欠如。私の目的は、wiki マークアップ形式から Confluence が使用する xhtml に変換することです。

これまでの私のコードは次のとおりです。

package org.myorg;

    import java.util.List;
    import java.util.ArrayList;
    import java.io.BufferedReader;
    import java.io.FileReader;

    import com.atlassian.renderer.RenderContext;
    import com.atlassian.confluence.content.render.xhtml.migration.WikiToXhtmlMigrator;
    import com.atlassian.confluence.content.render.xhtml.ConversionContext;
    import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext;
    import com.atlassian.confluence.content.render.xhtml.storage.pagelayouts.StoragePageLayoutMarshaller;
    import com.atlassian.confluence.xhtml.api.MacroDefinition;
    import com.atlassian.confluence.content.render.xhtml.storage.macro.*;


    import com.atlassian.renderer.RendererConfiguration;
    import com.atlassian.renderer.links.LinkRenderer;
    import com.atlassian.renderer.v2.V2LinkRenderer;
    import com.atlassian.renderer.embedded.EmbeddedResourceRenderer;
    import com.atlassian.renderer.embedded.DefaultEmbeddedResourceRenderer;
    import com.atlassian.confluence.content.render.xhtml.migration.ErrorReportingV2Renderer;

    import com.atlassian.renderer.v2.V2Renderer;

    import com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV2Marshaller;

    import com.atlassian.renderer.v2.components.RendererComponent;



    public class Wiki2xhtml {

    public static  class Rend implements RendererConfiguration
    {
         public String  getCharacterEncoding() 
         {
             return new String("UTF-8");
             //Will return the character encoding for the current application.

         }

         public String  getWebAppContextPath()
         {

             return "";

             //Returns the context path of the running web application.
         }
         public boolean isAllowCamelCase()
         {
             return true;
             //If this method returns true then camelCase links will be allowed and generated.
         }
         public boolean isNofollowExternalLinks() 
         {
             return false;
             //If this method returns true then external links will be generated with the rel=nofollow attribute.
         }
    }

    public static void main()
    {
        BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\arenu.CORP\\Desktop\\docs\\Engineering\\markupFile"));
        String wikiContent = new String();
        String line = null;
        while ((line = reader.readLine()) != null) 
        {
            wikiContent = wikiContent + line;
        }

        /*
        public WikiToXhtmlMigrator(com.atlassian.renderer.RendererConfiguration rendererConfiguration,
                com.atlassian.renderer.links.LinkRenderer defaultLinkRenderer,
                com.atlassian.renderer.embedded.EmbeddedResourceRenderer defaultEmbeddedRenderer,
                ErrorReportingV2Renderer renderer)
        */
        RenderContext rE = new RenderContext();
        DefaultConversionContext dCE = new DefaultConversionContext(rE);

        RendererConfiguration rC = new Rend();
        LinkRenderer dLC = new V2LinkRenderer(); 
        EmbeddedResourceRenderer dER = new DefaultEmbeddedResourceRenderer();


        //ErrorReportingV2Renderer(java.util.List<com.atlassian.renderer.v2.components.RendererComponent> components, Marshaller<MacroDefinition> wikiMarkupMacroMarshaller) 

        List<RendererComponent> rCList = new ArrayList<RendererComponent> ();

        MacroDefinition mD = new MacroDefinition();

        ErrorReportingV2Renderer renderer = new ErrorReportingV2Renderer(rCList, whatshouldcomehere) ;

        WikiToXhtmlMigrator migr = new WikiToXhtmlMigrator(rC,dLC,dER,vR);
        //String migrated = new String();
        //migrated = migrate(java.lang.String wiki, com.atlassian.renderer.RenderContext context, java.util.List<java.lang.RuntimeException> exceptions) 
        //migrated = migrate(java.lang.String wiki, ConversionContext conversionContext) 
        String migrated = (migr.migrate(wikiContent, dCE)).getContent();

        System.out.println(migrated);

    }

}

これが正しい方法であるかどうかはわかりません。また、ドキュメントですべてが抽象的な方法で定義されているため、各部分が何を意味するかについての手がかりもありません。

ErrorReportingV2Rendererレンダラーを初期化する方法を教えてもらえますか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

Confluence のソース コードを入手してください。まだお持ちでない場合は、10 ユーザー/10 ドルのライセンスを購入してください。次に、そこにある最高のドキュメント (ソース コード) を検索できます。

wikiToXhtmlMigratorとの両方migrationRendererが で Bean として定義されています。ContextMigrationRenderer.xml

Atlassian は、これを使用して にアクセスして、以下にアクセスしていますWikiToXhtmlMigrator

ExceptionTolerantMigrator wikiToXhtmlMigrator = (ExceptionTolerantMigrator) ContainerManager.getComponent("wikiToXhtmlMigrator");

ErrorReportingV2Renderer次を使用してアクセスできるはずです。

ExceptionTolerantMigrator wikiToXhtmlMigrator = (ExceptionTolerantMigrator) ContainerManager.getComponent("migrationRenderer");
于 2014-11-28T15:18:27.640 に答える