本文整理汇总了Java中org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException类的典型用法代码示例。如果您正苦于以下问题:Java CmisContentAlreadyExistsException类的具体用法?Java CmisContentAlreadyExistsException怎么用?Java CmisContentAlreadyExistsException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CmisContentAlreadyExistsException类属于org.apache.chemistry.opencmis.commons.exceptions包,在下文中一共展示了CmisContentAlreadyExistsException类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: renameFolder
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
public static void renameFolder(Session pSession, String pStrNodeRef, String pStrNewName) {
mLog.debug("ENTER renameFolder(<Session>, " + pStrNodeRef + ", " + pStrNewName + ")");
Folder lFolder = (Folder) pSession.getObject(pStrNodeRef);
Map<String, String> lMapProperties = new HashMap<String, String>();
lMapProperties.put(PropertyIds.NAME, pStrNewName);
try {
lFolder.updateProperties(lMapProperties, true);
} catch (CmisContentAlreadyExistsException e) {
mLog.error("Impossibile aggiornare le proprietà del documento", e);
throw new AlfrescoException(e, AlfrescoException.FOLDER_ALREADY_EXISTS_EXCEPTION);
}
mLog.debug("EXIT renameFolder(<Session>, " + pStrNodeRef + ", " + pStrNewName + ")");
}
开发者ID:MakeITBologna,项目名称:zefiro,代码行数:18,代码来源:AlfrescoHelper.java
示例2: testFileExistsException
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
@Test
public void testFileExistsException() throws Throwable
{
Exception e = new FileExistsException(null, null);
Class<?> toCatch = CmisContentAlreadyExistsException.class;
doMockCall(e, toCatch);
doMockCall(new RuntimeException(new RuntimeException(e)), toCatch);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:10,代码来源:AlfrescoCmisExceptionInterceptorTest.java
示例3: createFolder
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
public static String createFolder(Session pSession, String pStrParentFolderId, String pStrFolderName) {
String lStrFolderId = null;
mLog.debug("Start createFolder(", pSession, ",", pStrParentFolderId, ",", pStrFolderName, ")");
// recupero la cartella padre
Folder lFolder = (Folder) pSession.getObject(pStrParentFolderId);
// creo la cartella
Map<String, String> lMapProperties = new HashMap<String, String>();
lMapProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
lMapProperties.put(PropertyIds.NAME, pStrFolderName);
Folder lFolderNew;
try {
lFolderNew = lFolder.createFolder(lMapProperties);
lStrFolderId = lFolderNew.getId();
} catch (CmisContentAlreadyExistsException e) {
mLog.error("Il documento esiste già", e);
throw new AlfrescoException(e, AlfrescoException.FOLDER_ALREADY_EXISTS_EXCEPTION);
}
mLog.debug("End createFolder(", pSession, ",", pStrParentFolderId, ",", pStrFolderName, "): return ",
lStrFolderId);
return lStrFolderId;
}
开发者ID:MakeITBologna,项目名称:zefiro,代码行数:29,代码来源:AlfrescoHelper.java
示例4: invoke
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
public Object invoke(MethodInvocation mi) throws Throwable
{
try
{
return mi.proceed();
}
catch (Exception e)
{
// We dig into the exception to see if there is anything of interest to CMIS
Throwable cmisAffecting = ExceptionStackUtil.getCause(e, EXCEPTIONS_OF_INTEREST);
if (cmisAffecting == null)
{
// The exception is not something that CMIS needs to handle in any special way
if (e instanceof CmisBaseException)
{
throw (CmisBaseException) e;
}
else
{
throw new CmisRuntimeException(e.getMessage(), e);
}
}
// All other exceptions are carried through with full stacks but treated as the exception of interest
else if (cmisAffecting instanceof AuthenticationException)
{
throw new CmisPermissionDeniedException(cmisAffecting.getMessage(), e);
}
else if (cmisAffecting instanceof CheckOutCheckInServiceException)
{
throw new CmisVersioningException("Check out failed: " + cmisAffecting.getMessage(), e);
}
else if (cmisAffecting instanceof FileExistsException)
{
throw new CmisContentAlreadyExistsException("An object with this name already exists: " + cmisAffecting.getMessage(), e);
}
else if (cmisAffecting instanceof IntegrityException)
{
throw new CmisConstraintException("Constraint violation: " + cmisAffecting.getMessage(), e);
}
else if (cmisAffecting instanceof AccessDeniedException)
{
throw new CmisPermissionDeniedException("Permission denied: " + cmisAffecting.getMessage(), e);
}
else if (cmisAffecting instanceof NodeLockedException)
{
throw new CmisUpdateConflictException("Update conflict: " + cmisAffecting.getMessage(), e);
}
else
{
// We should not get here, so log an error but rethrow to have CMIS handle the original cause
logger.error("Exception type not handled correctly: " + e.getClass().getName());
throw new CmisRuntimeException(e.getMessage(), e);
}
}
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:57,代码来源:AlfrescoCmisExceptionInterceptor.java
示例5: createDocumentFromSource
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
@Override
public String createDocumentFromSource(
String repositoryId, String sourceId, final Properties properties,
String folderId, VersioningState versioningState, final List<String> policies, final Acl addAces,
final Acl removeAces, ExtensionsData extension)
{
checkRepositoryId(repositoryId);
// get the parent folder node ref
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Parent folder");
// get source
CMISNodeInfo info = getOrCreateNodeInfo(sourceId, "Source");
// check source
if (info.isVariant(CMISObjectVariant.ASSOC))
{
throw new CmisConstraintException("Source object is not a document!");
}
final NodeRef sourceNodeRef = info.getNodeRef();
if (!info.isDocument())
{
throw new CmisConstraintException("Source object is not a document!");
}
// get name and type
final String name = connector.getNameProperty(properties, info.getName());
final TypeDefinitionWrapper type = info.getType();
connector.checkChildObjectType(parentInfo, type.getTypeId());
versioningState = getDocumentDefaultVersioningState(versioningState, type);
try
{
FileInfo fileInfo = connector.getFileFolderService().copy(
sourceNodeRef, parentInfo.getNodeRef(), name);
NodeRef nodeRef = fileInfo.getNodeRef();
connector.setProperties(nodeRef, type, properties, new String[] {
PropertyIds.NAME, PropertyIds.OBJECT_TYPE_ID });
connector.applyPolicies(nodeRef, type, policies);
connector.applyACL(nodeRef, type, addAces, removeAces);
connector.extractMetadata(nodeRef);
connector.createThumbnails(nodeRef, Collections.singleton("doclib"));
connector.applyVersioningState(nodeRef, versioningState);
connector.getActivityPoster().postFileFolderAdded(nodeRef);
return connector.createObjectId(nodeRef);
}
catch (FileNotFoundException e)
{
throw new CmisContentAlreadyExistsException("An object with this name already exists!", e);
}
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:59,代码来源:AlfrescoCmisServiceImpl.java
示例6: setContentStream
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
@Override
public void setContentStream(
String repositoryId, Holder<String> objectId, Boolean overwriteFlag,
Holder<String> changeToken, final ContentStream contentStream, ExtensionsData extension)
{
checkRepositoryId(repositoryId);
CMISNodeInfo info = getOrCreateNodeInfo(objectId.getValue(), "Object");
if (!info.isVariant(CMISObjectVariant.CURRENT_VERSION) && !info.isVariant(CMISObjectVariant.PWC))
{
throw new CmisStreamNotSupportedException("Content can only be set on private working copies or current versions.");
}
final NodeRef nodeRef = info.getNodeRef();
if (((DocumentTypeDefinition) info.getType().getTypeDefinition(false)).getContentStreamAllowed() == ContentStreamAllowed.NOTALLOWED)
{
throw new CmisStreamNotSupportedException("Document type doesn't allow content!");
}
boolean existed = connector.getContentService().getReader(nodeRef, ContentModel.PROP_CONTENT) != null;
if (existed && !overwriteFlag)
{
throw new CmisContentAlreadyExistsException("Content already exists!");
}
if ((contentStream == null) || (contentStream.getStream() == null))
{
throw new CmisInvalidArgumentException("No content!");
}
//ALF-21852 - Separated setContent and objectId.setValue in two different transactions because
//after executing setContent, the new objectId is not visible.
RetryingTransactionHelper helper = connector.getRetryingTransactionHelper();
helper.doInTransaction(new RetryingTransactionCallback<Void>()
{
public Void execute() throws Throwable
{
String mimeType = parseMimeType(contentStream);
final File tempFile = copyToTempFile(contentStream);
String encoding = getEncoding(tempFile, mimeType);
try
{
ContentWriter writer = connector.getFileFolderService().getWriter(nodeRef);
writer.setMimetype(mimeType);
writer.setEncoding(encoding);
writer.putContent(tempFile);
}
finally
{
removeTempFile(tempFile);
}
connector.getActivityPoster().postFileFolderUpdated(info.isFolder(), nodeRef);
return null;
}
}, false, true);
String objId = helper.doInTransaction(new RetryingTransactionCallback<String>()
{
public String execute() throws Throwable
{
return connector.createObjectId(nodeRef);
}
}, true, true);
objectId.setValue(objId);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:71,代码来源:AlfrescoCmisServiceImpl.java
示例7: createDocumentFromSource
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
@Override
public String createDocumentFromSource(
String repositoryId, String sourceId, final Properties properties,
String folderId, final VersioningState versioningState, final List<String> policies, final Acl addAces,
final Acl removeAces, ExtensionsData extension)
{
checkRepositoryId(repositoryId);
// get the parent folder node ref
final CMISNodeInfo parentInfo = getOrCreateFolderInfo(folderId, "Parent folder");
// get source
CMISNodeInfo info = getOrCreateNodeInfo(sourceId, "Source");
// check source
if (info.isVariant(CMISObjectVariant.ASSOC))
{
throw new CmisConstraintException("Source object is not a document!");
}
final NodeRef sourceNodeRef = info.getNodeRef();
if (!info.isDocument())
{
throw new CmisConstraintException("Source object is not a document!");
}
// get name and type
final String name = connector.getNameProperty(properties, info.getName());
final TypeDefinitionWrapper type = info.getType();
connector.checkChildObjectType(parentInfo, type.getTypeId());
try
{
FileInfo fileInfo = connector.getFileFolderService().copy(
sourceNodeRef, parentInfo.getNodeRef(), name);
NodeRef nodeRef = fileInfo.getNodeRef();
connector.setProperties(nodeRef, type, properties, new String[] {
PropertyIds.NAME, PropertyIds.OBJECT_TYPE_ID });
connector.applyPolicies(nodeRef, type, policies);
connector.applyACL(nodeRef, type, addAces, removeAces);
connector.extractMetadata(nodeRef);
connector.createThumbnails(nodeRef, Collections.singleton("doclib"));
connector.applyVersioningState(nodeRef, versioningState);
connector.getActivityPoster().postFileFolderAdded(nodeRef);
return connector.createObjectId(nodeRef);
}
catch (FileNotFoundException e)
{
throw new CmisContentAlreadyExistsException("An object with this name already exists!", e);
}
}
开发者ID:Alfresco,项目名称:community-edition-old,代码行数:57,代码来源:AlfrescoCmisServiceImpl.java
示例8: setContentStream
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
@Override
public void setContentStream(
String repositoryId, Holder<String> objectId, Boolean overwriteFlag,
Holder<String> changeToken, final ContentStream contentStream, ExtensionsData extension)
{
checkRepositoryId(repositoryId);
CMISNodeInfo info = getOrCreateNodeInfo(objectId.getValue(), "Object");
if (!info.isVariant(CMISObjectVariant.CURRENT_VERSION) && !info.isVariant(CMISObjectVariant.PWC))
{
throw new CmisStreamNotSupportedException("Content can only be set ondocuments!");
}
final NodeRef nodeRef = info.getNodeRef();
if (((DocumentTypeDefinition) info.getType().getTypeDefinition(false)).getContentStreamAllowed() == ContentStreamAllowed.NOTALLOWED)
{
throw new CmisStreamNotSupportedException("Document type doesn't allow content!");
}
boolean existed = connector.getContentService().getReader(nodeRef, ContentModel.PROP_CONTENT) != null;
if (existed && !overwriteFlag)
{
throw new CmisContentAlreadyExistsException("Content already exists!");
}
if ((contentStream == null) || (contentStream.getStream() == null))
{
throw new CmisInvalidArgumentException("No content!");
}
// copy stream to temp file
final File tempFile = copyToTempFile(contentStream);
final Charset encoding = getEncoding(tempFile, contentStream.getMimeType());
try
{
ContentWriter writer = connector.getFileFolderService().getWriter(nodeRef);
String mimeType = parseMimeType(contentStream);
writer.setMimetype(mimeType);
writer.setEncoding(encoding.name());
writer.putContent(tempFile);
}
finally
{
removeTempFile(tempFile);
}
objectId.setValue(connector.createObjectId(nodeRef));
connector.getActivityPoster().postFileFolderUpdated(info.isFolder(), nodeRef);
}
开发者ID:Alfresco,项目名称:community-edition-old,代码行数:54,代码来源:AlfrescoCmisServiceImpl.java
示例9: changeContentStream
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
/**
* CMIS setContentStream, deleteContentStream, and appendContentStream.
*/
public void changeContentStream(CallContext context, Holder<String> objectId, Boolean overwriteFlag,
ContentStream contentStream, boolean append) {
checkUser(context, true);
if (objectId == null) {
throw new CmisInvalidArgumentException("Id is not valid!");
}
// get the file
File file = getFile(objectId.getValue());
if (!file.isFile()) {
throw new CmisStreamNotSupportedException("Not a file!");
}
// check overwrite
boolean owf = FileBridgeUtils.getBooleanParameter(overwriteFlag, true);
if (!owf && file.length() > 0) {
throw new CmisContentAlreadyExistsException("Content already exists!");
}
OutputStream out = null;
InputStream in = null;
try {
out = new BufferedOutputStream(new FileOutputStream(file, append), BUFFER_SIZE);
if (contentStream == null || contentStream.getStream() == null) {
// delete content
out.write(new byte[0]);
} else {
// set content
in = new BufferedInputStream(contentStream.getStream(), BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
int b;
while ((b = in.read(buffer)) > -1) {
out.write(buffer, 0, b);
}
}
} catch (Exception e) {
throw new CmisStorageException("Could not write content: " + e.getMessage(), e);
} finally {
IOUtils.closeQuietly(out);
IOUtils.closeQuietly(in);
}
}
开发者ID:cmisdocs,项目名称:ServerDevelopmentGuideV2,代码行数:49,代码来源:FileBridgeRepository.java
示例10: setContentStream
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
/**
* See CMIS 1.0 section 2.2.4.16 setContentStream
*
* @throws CmisStorageException
*/
public RegistryObject setContentStream(ContentStream contentStream, boolean overwriteFlag) {
try {
//Check for existing data
Object dataObject = getNode().getContent();
int length = 0;
if (dataObject != null){
length = 1;
}
// check overwrite
if (!overwriteFlag && length != 0) {
throw new CmisContentAlreadyExistsException("Content already exists!");
}
RegistryVersionBase gregVersion = isVersionable() ? asVersion() : null;
boolean autoCheckout = gregVersion != null && !gregVersion.isCheckedOut();
RegistryVersionBase gregVersionContext = null;
if (autoCheckout) {
gregVersionContext = gregVersion.checkout();
} else {
gregVersionContext = gregVersion;
}
Resource resource = null;
// write content, if available
if(contentStream == null || contentStream.getStream() == null){
resource = gregVersionContext.getNode();
resource.setContent(null);
} else{
//Sets the content stream
resource = gregVersionContext.getNode();
resource.setContentStream(contentStream.getStream());
//TODO MIME-Type --> DONE
//contentStream.getMimeType();
}
//put to registry
String versionContextPath = gregVersionContext.getNode().getPath();
getRepository().put(versionContextPath, resource);
//set
gregVersionContext.setNode(getRepository().get(versionContextPath));
if (autoCheckout) {
// auto versioning -> return new version created by checkin
return gregVersionContext.checkin(null, null, "auto checkout");
} else if (gregVersionContext != null) {
// the node is checked out -> return pwc.
return gregVersionContext.getPwc();
} else {
// non versionable -> return this
return this;
}
}
catch (RegistryException e) {
log.error("Error occurred while setting content stream ", e);
throw new CmisStorageException(e.getMessage());
}
}
开发者ID:wso2,项目名称:carbon-registry,代码行数:67,代码来源:RegistryDocument.java
示例11: changeContentStream
import org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException; //导入依赖的package包/类
/**
* CMIS setContentStream, deleteContentStream, and appendContentStream.
*/
public void changeContentStream(CallContext context,
Holder<String> objectId, Boolean overwriteFlag,
ContentStream contentStream, boolean append) {
checkUser(context, true);
if (objectId == null) {
throw new CmisInvalidArgumentException("Id is not valid!");
}
// get the file
File file = getFile(objectId.getValue());
if (!file.isFile()) {
throw new CmisStreamNotSupportedException("Not a file!");
}
// check overwrite
boolean owf = FileBridgeUtils.getBooleanParameter(overwriteFlag, true);
if (!owf && file.length() > 0) {
throw new CmisContentAlreadyExistsException(
"Content already exists!");
}
OutputStream out = null;
InputStream in = null;
try {
out = new BufferedOutputStream(new FileOutputStream(file, append),
BUFFER_SIZE);
if (contentStream == null || contentStream.getStream() == null) {
// delete content
out.write(new byte[0]);
} else {
// set content
in = new BufferedInputStream(contentStream.getStream(),
BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
int b;
while ((b = in.read(buffer)) > -1) {
out.write(buffer, 0, b);
}
}
} catch (Exception e) {
throw new CmisStorageException("Could not write content: "
+ e.getMessage(), e);
} finally {
IOUtils.closeQuietly(out);
IOUtils.closeQuietly(in);
}
}
开发者ID:cmisdocs,项目名称:ServerDevelopmentGuide,代码行数:54,代码来源:FileBridgeRepository.java
注:本文中的org.apache.chemistry.opencmis.commons.exceptions.CmisContentAlreadyExistsException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论