用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台
2009-11-17 00:00:00 来源:WEB开发网清单 7 显示了两个简单方法,用来获取 Flickr 的 photo 数据结构之一(为所有返回照片元数据的方法所用)并为它的图像文件创建 URL。受托管的照片实际上都有几个图像文件,我们的代码说明了这一点;用户可以将 Flickr 返回的 photo 数据传递给我们的 thumbnail() 和 original() 方法以查看缩略图和原始图像。清单 7 中的代码包括在与 flickr() (/app/scripts/flickr.groovy) 相同的文件里:
清单 7. 配置 Flickr API 键def original(photo)
{
def server = "http://farm${photo.farm}.static.flickr.com/${photo.server}";
def name = "${photo.id}_${photo.originalsecret}_o.${photo.originalformat}";
return "${server}/${name}";
}
def thumbnail(photo)
{
def server = "http://farm${photo.farm}.static.flickr.com/${photo.server}";
def name = "${photo.id}_${photo.secret}_t.jpg";
return "${server}/${name}";
}
Groovy 内的全局上下文捷径
代码到目前为止很有效,但我们用户代码中的 invokeMethod() 的使用还不够完美。invokeMethod() 方法对于所有运行于 Zero 平台上的 Groovy 脚本都可用,它还提供了一种迅捷的方法来调用另一脚本中的代码;对于只需重复使用一两次的代码而言,这种做法还可以,但对于像这样的一个库来说,调用可能更实际些。如果能更新清单 4 中的代码来直接调用 flickr() 方法,就最好不过了,如清单 8 所示:
清单 8. “Zero 化” 的 Flickr API 原型 #3request.flickr.method = "flickr.photosets.getPhotos";
request.flickr.params = [
photoset_id: 1234567890,
per_page: 25
];
flickr();
def response = request.flickr.response[];
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接