Le document suivant contient les résultats de l'inspection CPD CPD 5.3.5.
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java | 236 |
| org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java | 323 |
throw new CmisRuntimeException( "Descendants are null!" );
}
ObjectInfo folderInfo = service.getObjectInfo( repositoryId, folderId );
if ( folderInfo == null )
{
throw new CmisRuntimeException( "Folder Object Info is missing!" );
}
// set headers
response.setStatus( HttpServletResponse.SC_OK );
response.setContentType( Constants.MEDIATYPE_FEED );
// write XML
AtomFeed feed = new AtomFeed( );
feed.startDocument( response.getOutputStream( ) );
feed.startFeed( true );
// write basic Atom feed elements
feed.writeFeedElements( folderInfo.getId( ), folderInfo.getCreatedBy( ), folderInfo.getName( ),
folderInfo.getLastModificationDate( ), null, null );
// write links
UrlBuilder baseUrl = compileBaseUrl( request, repositoryId );
feed.writeServiceLink( baseUrl.toString( ), repositoryId );
feed.writeSelfLink( compileUrl( baseUrl, RESOURCE_DESCENDANTS, folderInfo.getId( ) ), null );
feed.writeViaLink( compileUrl( baseUrl, RESOURCE_ENTRY, folderInfo.getId( ) ) );
feed.writeDownLink( compileUrl( baseUrl, RESOURCE_CHILDREN, folderInfo.getId( ) ), Constants.MEDIATYPE_FEED );
if ( folderInfo.supportsFolderTree( ) ) | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java | 259 |
| org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java | 424 |
response.sendError( HttpServletResponse.SC_METHOD_NOT_ALLOWED, "Unknown operation" );
}
}
finally
{
if ( service != null )
{
service.close( );
}
}
}
/**
* Translates an exception in an appropriate HTTP error code.
*/
private static int getErrorCode( CmisBaseException ex )
{
if ( ex instanceof CmisConstraintException )
{
return 409;
}
else if ( ex instanceof CmisContentAlreadyExistsException )
{
return 409;
}
else if ( ex instanceof CmisFilterNotValidException )
{
return 400;
}
else if ( ex instanceof CmisInvalidArgumentException )
{
return 400;
}
else if ( ex instanceof CmisNameConstraintViolationException )
{
return 409;
}
else if ( ex instanceof CmisNotSupportedException )
{
return 405;
}
else if ( ex instanceof CmisObjectNotFoundException )
{
return 404;
}
else if ( ex instanceof CmisPermissionDeniedException )
{
return 403;
}
else if ( ex instanceof CmisStorageException )
{
return 500;
}
else if ( ex instanceof CmisStreamNotSupportedException )
{
return 403;
}
else if ( ex instanceof CmisUpdateConflictException )
{
return 409;
}
else if ( ex instanceof CmisVersioningException )
{
return 409;
}
return 500;
}
/**
* Prints the error HTML page.
*/
private static void printError( Exception ex, HttpServletResponse response ) | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/MultiFilingService.java | 125 |
| org/apache/chemistry/opencmis/server/impl/atompub/ObjectService.java | 162 |
versioningState, parser.getPolicyIds( ), null );
ObjectInfo objectInfo = service.getObjectInfo( repositoryId, newObjectId );
if ( objectInfo == null )
{
throw new CmisRuntimeException( "Object Info is missing!" );
}
ObjectData object = objectInfo.getObject( );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
UrlBuilder baseUrl = compileBaseUrl( request, repositoryId );
response.setStatus( HttpServletResponse.SC_CREATED );
response.setContentType( Constants.MEDIATYPE_ENTRY );
response.setHeader( "Location", compileUrl( baseUrl, RESOURCE_ENTRY, newObjectId ) );
// write XML
AtomEntry entry = new AtomEntry( );
entry.startDocument( response.getOutputStream( ) );
writeObjectEntry( service, entry, object, null, repositoryId, null, null, baseUrl, true );
entry.endDocument( );
} | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/ObjectService.java | 121 |
| org/apache/chemistry/opencmis/server/impl/atompub/ObjectService.java | 164 |
ObjectInfo objectInfo = service.getObjectInfo( repositoryId, newObjectId );
if ( objectInfo == null )
{
throw new CmisRuntimeException( "Object Info is missing!" );
}
ObjectData object = objectInfo.getObject( );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
UrlBuilder baseUrl = compileBaseUrl( request, repositoryId );
response.setStatus( HttpServletResponse.SC_CREATED );
response.setContentType( Constants.MEDIATYPE_ENTRY );
response.setHeader( "Location", compileUrl( baseUrl, RESOURCE_ENTRY, newObjectId ) );
// write XML
AtomEntry entry = new AtomEntry( );
entry.startDocument( response.getOutputStream( ) );
writeObjectEntry( service, entry, object, null, repositoryId, null, null, baseUrl, true );
entry.endDocument( );
}
/**
* Create relationship.
*/
public static void createRelationship( CallContext context, CmisService service, String repositoryId, | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/MultiFilingService.java | 127 |
| org/apache/chemistry/opencmis/server/impl/atompub/ObjectService.java | 121 |
ObjectInfo objectInfo = service.getObjectInfo( repositoryId, newObjectId );
if ( objectInfo == null )
{
throw new CmisRuntimeException( "Object Info is missing!" );
}
ObjectData object = objectInfo.getObject( );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
UrlBuilder baseUrl = compileBaseUrl( request, repositoryId );
response.setStatus( HttpServletResponse.SC_CREATED );
response.setContentType( Constants.MEDIATYPE_ENTRY );
response.setHeader( "Location", compileUrl( baseUrl, RESOURCE_ENTRY, newObjectId ) );
// write XML
AtomEntry entry = new AtomEntry( );
entry.startDocument( response.getOutputStream( ) );
writeObjectEntry( service, entry, object, null, repositoryId, null, null, baseUrl, true );
entry.endDocument( );
} | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java | 410 |
| org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java | 67 |
throw new CmisRuntimeException( "Parents are null!" );
}
ObjectInfo objectInfo = service.getObjectInfo( repositoryId, objectId );
if ( objectInfo == null )
{
throw new CmisRuntimeException( "Object Info is missing!" );
}
// set headers
response.setStatus( HttpServletResponse.SC_OK );
response.setContentType( Constants.MEDIATYPE_FEED );
// write XML
AtomFeed feed = new AtomFeed( );
feed.startDocument( response.getOutputStream( ) );
feed.startFeed( true );
// write basic Atom feed elements
feed.writeFeedElements( objectInfo.getId( ), objectInfo.getCreatedBy( ), objectInfo.getName( ),
objectInfo.getLastModificationDate( ), null, null );
// write links
UrlBuilder baseUrl = compileBaseUrl( request, repositoryId );
feed.writeServiceLink( baseUrl.toString( ), repositoryId );
feed.writeSelfLink( compileUrl( baseUrl, RESOURCE_PARENTS, objectInfo.getId( ) ), null ); | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java | 280 |
| org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java | 368 |
Boolean hasMoreItems = ( ( typeList == null ) ? null : typeList.hasMoreItems( ) );
String parentTypeId = null;
String typeName = "Type Children";
// in order to get the parent type, we need the type definition of this
// type as well
if ( typeId != null )
{
TypeDefinition typeDefinition = service.getTypeDefinition( repositoryId, typeId, null );
parentTypeId = ( ( typeDefinition == null ) ? null : typeDefinition.getParentTypeId( ) );
typeName = ( ( typeDefinition == null ) ? typeId : typeDefinition.getDisplayName( ) );
}
// write XML
response.setStatus( HttpServletResponse.SC_OK );
response.setContentType( Constants.MEDIATYPE_FEED );
AtomFeed feed = new AtomFeed( );
feed.startDocument( response.getOutputStream( ) );
feed.startFeed( true );
// write basic Atom feed elements
feed.writeFeedElements( typeId, TYPE_AUTHOR, typeName, new GregorianCalendar( ), null, numItems ); | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java | 65 |
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 631 |
service.addObjectToFolder( repositoryId, objectId, folderId, allVersions, null );
String newObjectId = ( ( objectIdHolder.getValue( ) == null ) ? objectId : objectIdHolder.getValue( ) );
ObjectData object = getSimpleObject( service, repositoryId, newObjectId );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
String location = compileUrl( compileBaseUrl( request, repositoryId ), RESOURCE_CONTENT, newObjectId );
setStatus( request, response, HttpServletResponse.SC_CREATED );
response.setHeader( "Location", location );
// return object
TypeCache typeCache = new TypeCacheImpl( repositoryId, service );
JSONObject jsonObject = JSONConverter.convert( object, typeCache, false );
writeJSON( jsonObject, request, response );
}
/*
* removeObjectFromFolder.
*/
public static void removeObjectFromFolder( CallContext context, CmisService service, String repositoryId, | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java | 102 |
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 669 |
service.removeObjectFromFolder( repositoryId, objectId, folderId, null );
String newObjectId = ( ( objectIdHolder.getValue( ) == null ) ? objectId : objectIdHolder.getValue( ) );
ObjectData object = getSimpleObject( service, repositoryId, newObjectId );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
String location = compileUrl( compileBaseUrl( request, repositoryId ), RESOURCE_CONTENT, newObjectId );
setStatus( request, response, HttpServletResponse.SC_CREATED );
response.setHeader( "Location", location );
// return object
TypeCache typeCache = new TypeCacheImpl( repositoryId, service );
JSONObject jsonObject = JSONConverter.convert( object, typeCache, false );
writeJSON( jsonObject, request, response );
}
} | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java | 65 |
| org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java | 102 |
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 631 |
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 669 |
service.addObjectToFolder( repositoryId, objectId, folderId, allVersions, null );
String newObjectId = ( ( objectIdHolder.getValue( ) == null ) ? objectId : objectIdHolder.getValue( ) );
ObjectData object = getSimpleObject( service, repositoryId, newObjectId );
if ( object == null )
{
throw new CmisRuntimeException( "Object is null!" );
}
// set headers
String location = compileUrl( compileBaseUrl( request, repositoryId ), RESOURCE_CONTENT, newObjectId );
setStatus( request, response, HttpServletResponse.SC_CREATED );
response.setHeader( "Location", location );
// return object
TypeCache typeCache = new TypeCacheImpl( repositoryId, service );
JSONObject jsonObject = JSONConverter.convert( object, typeCache, false );
writeJSON( jsonObject, request, response );
} | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/webservices/AbstractService.java | 131 |
| org/apache/chemistry/opencmis/server/shared/HttpUtils.java | 141 |
String acceptLanguage = header.getValue( ).get( 0 );
if ( acceptLanguage != null )
{
String[] locale = acceptLanguage.split( "-" );
context.put( CallContext.LOCALE_ISO639_LANGUAGE, locale[0].trim( ) );
if ( locale.length > 1 )
{
int x = locale[1].indexOf( ',' );
if ( x == -1 )
{
context.put( CallContext.LOCALE_ISO3166_COUNTRY, locale[1].trim( ) );
}
else
{
context.put( CallContext.LOCALE_ISO3166_COUNTRY, locale[1].substring( 0, x ).trim( ) );
}
}
} | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 120 |
| org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java | 166 |
createContentStream( request ), versioningState, createPolicies( cp ), createAddAcl( cp ),
createRemoveAcl( cp ), null );
ObjectData object = getSimpleObject( service, repositoryId, newObjectId );
if ( object == null )
{
throw new CmisRuntimeException( "New document is null!" );
}
// return object
JSONObject jsonObject = JSONConverter.convert( object, typeCache, false );
setStatus( request, response, HttpServletResponse.SC_CREATED );
setCookie( request, response, repositoryId, transaction,
createCookieValue( HttpServletResponse.SC_CREATED, object.getId( ), null, null ) );
writeJSON( jsonObject, request, response );
}
/**
* Create document from source.
*/
public static void createDocumentFromSource( CallContext context, CmisService service, String repositoryId, | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java | 216 |
| org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java | 303 |
public static void getDescendants( CallContext context, CmisService service, String repositoryId,
HttpServletRequest request, HttpServletResponse response )
throws Exception
{
// get parameters
String folderId = getStringParameter( request, Constants.PARAM_ID );
BigInteger depth = getBigIntegerParameter( request, Constants.PARAM_DEPTH );
String filter = getStringParameter( request, Constants.PARAM_FILTER );
Boolean includeAllowableActions = getBooleanParameter( request, Constants.PARAM_ALLOWABLE_ACTIONS );
IncludeRelationships includeRelationships = getEnumParameter( request, Constants.PARAM_RELATIONSHIPS,
IncludeRelationships.class );
String renditionFilter = getStringParameter( request, Constants.PARAM_RENDITION_FILTER );
Boolean includePathSegment = getBooleanParameter( request, Constants.PARAM_PATH_SEGMENT );
// execute
List<ObjectInFolderContainer> descendants = service.getDescendants( repositoryId, folderId, depth, filter, | |
| Fichier | Ligne |
|---|---|
| org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java | 206 |
| org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java | 272 |
printError( e, response );
}
}
// we are done.
response.flushBuffer( );
}
/**
* Dispatches to feed, entry or whatever.
*/
private void dispatch( CallContext context, HttpServletRequest request, HttpServletResponse response )
throws Exception
{
CmisService service = null;
try
{
// get services factory
CmisServiceFactory factory = (CmisServiceFactory) getServletContext( )
.getAttribute( CmisRepositoryContextListener.SERVICES_FACTORY );
if ( factory == null )
{
throw new CmisRuntimeException( "Service factory not available! Configuration problem?" );
}
// get the service
service = factory.getService( context );
// analyze the path
String[] pathFragments = HttpUtils.splitPath( request );
if ( pathFragments.length < 4 )
{
// root -> service document
RepositoryService.getRepositories( context, service, request, response );
return;
} | |