View Javadoc

1   /*
2    * Copyright 2004-2006 the Seasar Foundation and the Others.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
13   * either express or implied. See the License for the specific language
14   * governing permissions and limitations under the License.
15   */
16  package org.seasar.tuigwaa.plugin.basic;
17  
18  import org.seasar.tuigwaa.cms.core.CmsRequest;
19  import org.seasar.tuigwaa.cms.core.CmsResponse;
20  import org.seasar.tuigwaa.cms.core.wiki.base.WikiHelper;
21  import org.seasar.tuigwaa.plugin.AbstractPlugin;
22  import org.seasar.tuigwaa.plugin.PluginException;
23  import org.seasar.tuigwaa.plugin.PluginRequest;
24  
25  import com.isenshi.util.HtmlBuffer;
26  
27  /***
28   * @author someda
29   */
30  public class ImagelinkPlugin extends AbstractPlugin {
31  
32  	public String doHTMLView(CmsRequest request, CmsResponse response,
33  			PluginRequest prequest) throws PluginException {
34  		
35  		String[] args = prequest.getArgs();
36  		if(!existArg(args,1)){
37  			throw new PluginException("imagelink needs image URL and link URL");
38  		}
39  		
40  		String imageURL = args[0];
41  		String linkURL = args[1];
42  		
43  		if(!WikiHelper.isImage(imageURL)){
44  			throw new PluginException(imageURL + " should be image URL");
45  		}
46  		
47  		HtmlBuffer buf = new HtmlBuffer();
48  		buf.setNewline(false);
49  		buf.setTab(false);
50  		buf.appendStartTag("a");
51  		buf.appendAttribute("href",linkURL);
52  		
53  		buf.appendStartTag("img");
54  		buf.appendAttribute("src",imageURL);
55  		
56  		if(existArg(args,2)){
57  			buf.appendAttribute("alt",args[2]);
58  		}
59  		
60  		if(existArg(args,3)){
61  			buf.appendAttribute("width",args[3]);
62  		}
63  		
64  		if(existArg(args,4)){
65  			buf.appendAttribute("height",args[4]);
66  		}		
67  		buf.endTag();
68  		buf.endTag();
69  		
70  		return buf.toString();
71  	}
72  
73  }