[Fusionforge-commits] r12256 - branches/Branch_5_1/src/plugins/oslc/include/oslc-zend/application/controllers
Olivier Berger
olberger at libremir.placard.fr.eu.org
Thu Feb 10 16:13:44 CET 2011
Author: olberger
Date: 2011-02-10 16:13:44 +0100 (Thu, 10 Feb 2011)
New Revision: 12256
Modified:
branches/Branch_5_1/src/plugins/oslc/include/oslc-zend/application/controllers/FusionForgeCmController.php
Log:
small refactoring on content type verification code.
Modified: branches/Branch_5_1/src/plugins/oslc/include/oslc-zend/application/controllers/FusionForgeCmController.php
===================================================================
--- branches/Branch_5_1/src/plugins/oslc/include/oslc-zend/application/controllers/FusionForgeCmController.php 2011-02-10 15:13:36 UTC (rev 12255)
+++ branches/Branch_5_1/src/plugins/oslc/include/oslc-zend/application/controllers/FusionForgeCmController.php 2011-02-10 15:13:44 UTC (rev 12256)
@@ -45,9 +45,18 @@
'application/x-oslc-disc-service-provider-catalog+xml' => 'xml',
'application/xml' => 'xml',
'application/x-oslc-disc-service-provider-catalog+json' => 'json',
- 'application/json' => 'json'
+ 'application/json' => 'json',
+ 'application/rdf+xml' => 'xml'
),
);
+ private $actionMimeType;
+
+ public function setActionMimeType($action) {
+ if(!isset($this->actionMimeType)) {
+ $this->actionMimeType = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $action);
+ }
+ }
+
/**
* Init FusionForge REST controller.
*/
@@ -75,9 +84,11 @@
$accept = $req->getHeader('Accept');
}
- $mime = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $action);
- if($mime) {
- $accept = $mime;
+ // Set the mime type for action.
+ $this->setActionMimeType($action);
+
+ if(isset($this->actionMimeType)) {
+ $accept = $this->actionMimeType;
}
// determine output format
@@ -406,8 +417,8 @@
public function readresourceAction() {
$params = $this->getRequest()->getParams();
- $content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
- if (! $content_type) {
+ //$content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
+ if (!isset($this->actionMimeType)) {
$this->_forward('UnknownAcceptType','error');
return;
}
@@ -434,7 +445,7 @@
$this->view->{$field} = $value;
}
- $this->getResponse()->setHeader('Content-Type', $content_type);
+ $this->getResponse()->setHeader('Content-Type', $this->actionMimeType);
}
else{
$this->view->missing_resource = $identifier;
@@ -443,16 +454,16 @@
}
public function readresourcecollectionAction() {
-
- $content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
- if (! $content_type) {
+ $req = $this->getRequest();
+ $params = $req->getParams();
+
+ //$content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
+ // TODO: raise the correct error code according to the specs.
+ if (!isset($this->actionMimeType)) {
// print_r("error");
- throw new NotAcceptableException("Accept header ".$this->getRequest()->getHeader('Accept')." not supported!");
+ throw new NotAcceptableException("Accept header ".$req->getHeader('Accept')." not supported!");
return;
}
- //exit;
- $req = $this->getRequest();
- $params = $req->getParams();
// load the model. Will fetch requested change requests from the db.
$params = $this->oslc->init($params);
@@ -481,30 +492,29 @@
}
//print_r($this->view);
- $this->getResponse()->setHeader('Content-Type', $content_type);
+ $this->getResponse()->setHeader('Content-Type', $this->actionMimeType);
}
/**
- * Handle OSLC services catalog access (http://open-services.net/bin/view/Main/OslcServiceProviderCatalogV1)
+ * Handle OSLC Core services provider catalog access (http://open-services.net/bin/view/Main/OslcCoreSpecification)
* Will show the list of prjects.
*
*/
public function oslcservicecatalogAction() {
- $content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
- if (! $content_type) {
+ //$content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
+ if (! isset($this->actionMimeType)) {
// print_r("error");
$this->_forward('UnknownAcceptType','error');
return;
}
-
- // each project will generate its own service description
+ // each project is considered as a service Provider.
$proj_arr = $this->oslc->getProjectsList();
$this->view->projects = $proj_arr;
- $this->getResponse()->setHeader('Content-Type', $content_type);
+ $this->getResponse()->setHeader('Content-Type', $this->actionMimeType);
}
/**
@@ -513,8 +523,8 @@
* where x is a project id.
*/
public function oslcservicecatalogprojectAction() {
- $content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
- if (! $content_type) {
+ //$content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
+ if (! isset($this->actionMimeType)) {
$this->_forward('UnknownAcceptType','error');
return;
}
@@ -528,7 +538,7 @@
$this->view->project = $project;
$this->view->trackers = $trackers;
- $this->getResponse()->setHeader('Content-Type', $content_type);
+ $this->getResponse()->setHeader('Content-Type', $this->actionMimeType);
}
/**
@@ -536,8 +546,8 @@
* Handles OSLC-CM service document access.
*/
public function oslccmservicedocumentAction() {
- $content_type = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
- if (! $content_type) {
+ //$this->actionMimeType = parent::checkSupportedActionMimeType(self::$supportedAcceptMimeTypes, $this->getRequest()->getActionName());
+ if (! isset($this->actionMimeType)) {
$this->_forward('UnknownAcceptType','error');
return;
}
@@ -548,7 +558,7 @@
$this->view->project = $params['oslc-cm-service'];
$this->view->tracker = $params['tracker'];
- $this->getResponse()->setHeader('Content-Type', $content_type);
+ $this->getResponse()->setHeader('Content-Type', $this->actionMimeType);
}
More information about the Fusionforge-commits
mailing list