alfresco-webservice和cmis操作alfresco的space
所需jar包
alfresco-web-services-client-3.4.d.jar
alfresco-opencmis-extension-0.2.jar
chemistry-opencmis-client-api-0.6.0.jar
chemistry-opencmis-client-bindings-0.6.0.jar
chemistry-opencmis-client-impl-0.6.0.jar
chemistry-opencmis-commons-api-0.6.0.jar
chemistry-opencmis-commons-impl-0.6.0.jar
1、alfresco-webservice
需要创建一个会话,在会话范围内操作space,包括生成子space,最后关闭会话。
/***建立会话***/
WebServiceFactory.setEndpointAddress("http://"+ AlfrescoConfig.getProperty(AlfrescoConfig.SERVER_HOST) + ":"+ AlfrescoConfig.getProperty(AlfrescoConfig.SERVER_PORT)+
"/alfresco/api");
//开始alfresco-webservice的会话 此处username和password即是 http://localhost:8384/alfresco 登录alfresco的用户名密码
AuthenticationUtils.startSession(AlfrescoConfig.getProperty(AlfrescoConfig.SERVER_USERNAME),AlfrescoConfig.getProperty(AlfrescoConfig.SERVER_PASSWORD));
String ticket = AuthenticationUtils.getTicket();
/***关闭会话***/
AuthenticationUtils.endSession();
/***创建 根space***/
startSession();
Reference space = null;
//获取space store
Store STORE = new Store(Constants.WORKSPACE_STORE,
"SpacesStore");
//获取comany home 根space
ParentReference companyHomeParent = new ParentReference(
STORE , null, "/app:company_home",
Constants.ASSOC_CONTAINS, null);
RepositoryServiceSoapBindingStub stub=WebServiceFactory.getRepositoryService();
try {
//初始化要添加的space,为company home 的子space
space = new Reference(STORE, null, companyHomeParent
.getPath()
+ "/cm:" + spacename);
//如果space不存在就抛出异常
stub.get(
new Predicate(new Reference[] { space },
STORE , null));
} catch (Exception e) {
companyHomeParent.setChildName(Constants.createQNameString(
Constants.NAMESPACE_CONTENT_MODEL,
spacename));
NamedValue[] properties = new NamedValue[] { Utils
.createNamedValue(Constants.PROP_NAME, spacename) };
//通过CML(Content Manipulation Language,操作Repository的语句)创建space
CMLCreate create = new CMLCreate("1", companyHomeParent, null, null,
null, Constants.TYPE_FOLDER, properties);
CML cml = new CML();
cml.setCreate(new CMLCreate[] { create });
try {
stub.update(cml);
} catch (Exception e2) {
System.err.println("Can not create the space");
throw e2;
}
}
endSession();
2、cmis(我用的是atompub绑定)
//初始化cmis session
SessionFactoryImpl sessionFactory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();
parameter.put(SessionParameter.USER, "admin");
parameter.put(SessionParameter.PASSWORD, "admin");
parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8384/alfresco/service/cmis");
parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB
.value());
parameter.put(SessionParameter.LOCALE_ISO3166_COUNTRY, "");
parameter.put(SessionParameter.LOCALE_ISO639_LANGUAGE, "en");
parameter.put(SessionParameter.LOCALE_VARIANT, "US");
parameter.put(SessionParameter.OBJECT_FACTORY_CLASS,
"org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");
List<Repository> repositorys = sessionFactory
.getRepositories(parameter);
Repository soleRepository = sessionFactory.getRepositories(parameter)
.get(0);//company home
parameter.put(SessionParameter.REPOSITORY_ID, soleRepository.getId());
Session session = sessionFactory.createSession(parameter);
/***创建space***/
Folder root = session.getRootFolder();
ObjectId parentId = session.createObjectId(root.getId());
properties.put(PropertyIds.OBJECT_TYPE_ID, BaseTypeId.CMIS_FOLDER
.value());
properties.put(PropertyIds.NAME, fName);
session.createFolder(properties, parentId);
/***删除space***/
Folder root = session.getRootFolder();
CmisObject space=null;
for (CmisObject childrens : root.getChildren()) {
if (childrens.getName().equals(fName)) {
space=childrens;
}
}
if(space!=null)
space.delete(true);
else
System.out.println(fName+" 不存在");
分享到:
相关推荐
通过这个模块,用户可以轻松地配置Alfresco服务器为CIFS服务器,使得组织内的员工或者外部合作伙伴能够方便地通过标准的文件共享方式访问和操作存储在Alfresco中的文档和数据。 `jlan_java`标签强调了Alfresco JLAN...
4. **纯Java实现**:Alfresco-JLAN的纯Java实现意味着它可以在任何安装有Java运行环境的平台上运行,无需考虑底层操作系统差异,大大降低了部署和维护的复杂度。 5. **源码结构分析**: - `runsrv.bat`和`runsrv....
首先,"alfresco-core-484-2.9.3B.jar"是Alfresco的核心组件之一,包含了Alfresco ECM系统的基础服务和核心功能。版本号"484"可能指的是该版本在开发过程中的迭代次数或内部版本号,而"2.9.3B"则代表正式的对外发布...
Angular-alfresco-ng2-components.zip,户外角组件应用开发框架(ADF),Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决开发人员的web...
解压"alfresco-deployment-484-2.9.3B.jar.zip"后,你会发现"alfresco-deployment-484-2.9.3B.jar"以及其他必要的文件和目录,如"tomcat"(Alfresco默认使用的应用服务器)、"amps"(Alfresco模块包)和"shared"...
为了简化开发过程,它从历史alfresco-core代码合并到alfresco-core , alfresco-data-madel , alfresco-repository , alfresco-remote-api和特定于存储库的测试中,并通过acs-community-packaging创建war文件。...
java -jar alfresco-mmt.jar install <module_path> <alfresco_home> ``` 这里的`<module_path>`是模块的jar文件路径,`<alfresco_home>`是Alfresco安装目录。 2. 卸载:若需卸载已安装的模块,可以使用卸载命令: ...
标签:alfresco-jlan.jar.zip,alfresco,jlan,jar.zip包下载,依赖包
在<TOMCAT_HOME>/shared/classes目录下,将alfresco-global.properties.sample重命名为alfresco-global.properties。 c. 编辑alfresco-global.properties文件,配置数据存储目录、数据库连接信息,例如: - dir....
在开发Alfresco应用的过程中,`alfresco-devenv-tools.jar.zip`是一个至关重要的工具集,它包含了开发者所需的多种工具和依赖,极大地简化了开发流程。 首先,我们要理解`alfresco-devenv-tools.jar`这个核心文件。...
本文将深入探讨"alfresco-linkvalidation-484-2.9.3B.jar.zip"这一特定版本的插件,包括其功能、应用以及如何进行安装和配置。 首先,"alfresco-linkvalidation-484-2.9.3B.jar"是Alfresco Link Validation插件的...
因此,对于Alfresco的管理员和开发者来说,深入理解和掌握"alfresco-mbeans-484-2.9.3B.jar"及其提供的MBeans至关重要。这不仅可以帮助他们更好地理解和控制系统的运行,也能为他们提供强大的工具来优化和扩展...
传统的文件传输方式可能在处理大量数据时遇到性能瓶颈,而JLAN利用Java的跨平台特性和高效性能,能够处理大规模的文件操作,无论是上传还是下载,都能保持稳定的性能。此外,Java的健壮性也为JLAN提供了可靠的安全...
门迪克斯-露天-cmis Mendix 小部件的简单 Alfresco CMIS 集成概述这只是一个 POC,展示了 Alfresco CMIS 集成(通过浏览器绑定和纯 JavaScript)到 Mendex 小部件的简便性。 实现基于标准的小部件。文件夹列表小工具...
例如,通过Alfresco的JavaScript API,我们可以在Web客户端上构建用户友好的文件上传和下载界面,同时实现文件的权限验证和操作日志记录。 Alfresco-JLAN还支持CIFS(Common Internet File System)协议,这意味着...
官方版本,亲测可用
标签:alfresco-web-service-client.jar.zip,alfresco,web,service,client,jar.zip包下载,依赖包
标签:alfresco-bm-remote.jar.zip,alfresco,bm,remote,jar.zip包下载,依赖包
标签:alfresco-repository-484-2.9.3B.jar.zip,alfresco,repository,484,2.9.3B,jar.zip包下载,依赖包
项目结构该项目由以下三个模块组成: 父项目:通用元数据和配置alfresco-repo-widgetset:小部件集、自定义客户端代码和小部件附加组件的依赖项alfresco-repo-ui:主要应用模块,开发时间alfresco-repo-production:...