*/\r
package org.opendaylight.nemo.user;\r
\r
-import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Error; \r
-import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Ok; \r
-\r
import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
import org.opendaylight.nemo.intent.IntentResolutionException;\r
import org.opendaylight.nemo.intent.IntentResolver;\r
import org.opendaylight.nemo.user.transactionmanager.TransactionBegin;\r
import org.opendaylight.nemo.user.transactionmanager.TransactionEnd;\r
import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.ParseException;\r
import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteIntent;\r
import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateIntent;\r
-import org.opendaylight.nemo.user.vnspacemanager.VNSpaceManagement;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.*;\r
import org.opendaylight.yangtools.yang.common.RpcResult;\r
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;\r
\r
import java.util.concurrent.Future;\r
\r
+import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Error;\r
+import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Ok;\r
+\r
/**\r
* Created by z00293636 on 2015/9/7.\r
*/\r
\r
private final DataBroker dataBroker;\r
\r
- private VNSpaceManagement vnSpaceManagement;\r
private RegisterUser registerUser;\r
private UpdateIntent updateIntent;\r
private DeleteIntent deleteIntent;\r
this.dataBroker = dataBroker0;\r
\r
this.intentResolver = intentResolver0;\r
- vnSpaceManagement = new VNSpaceManagement(dataBroker);\r
tenantManage = new TenantManage(dataBroker);\r
aaa = new AAA(tenantManage);\r
registerUser = new RegisterUser(tenantManage);\r
updateIntent = new UpdateIntent(dataBroker,tenantManage);\r
deleteIntent = new DeleteIntent(dataBroker, tenantManage);\r
- languageIntent = new LanguageIntent(dataBroker);\r
+ languageIntent = new LanguageIntent(dataBroker,tenantManage);\r
advancedQuery = new AdvancedQuery(dataBroker, tenantManage);\r
-\r
transactionBegin = new TransactionBegin();\r
transactionEnd = new TransactionEnd();\r
\r
transaction = false;\r
informresolver = false;\r
}\r
-\r
@Override\r
public Future<RpcResult<AdvancedNemoQueryOutput>> advancedNemoQuery(AdvancedNemoQueryInput input) {\r
- final AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder();\r
\r
+ final AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder();\r
String errorInfo = advancedQuery.advancedQuery(aaa, input);\r
- if (errorInfo != null)\r
- {\r
+\r
+ if (errorInfo != null){\r
outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
}\r
- else\r
- {\r
+ else{\r
outputBuilder.setResultCode(Ok).setMessage(advancedQuery.getAdvancedQueryReuslt(input));\r
}\r
\r
- return RpcResultBuilder.success(outputBuilder).buildFuture();\r
+ return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<BeginTransactionOutput>> beginTransaction(BeginTransactionInput input) {\r
- final BeginTransactionOutputBuilder outputBuilder = new BeginTransactionOutputBuilder();\r
\r
- if (transaction)\r
- {\r
+ final BeginTransactionOutputBuilder outputBuilder = new BeginTransactionOutputBuilder();\r
+ if (transaction){\r
outputBuilder.setResultCode(Error).setMessage("The previous transaction has not been finished.");\r
}\r
- else\r
- {\r
+ else{\r
String errorInfo = transactionBegin.transactionbegin(aaa,input);\r
- if (errorInfo != null)\r
- {\r
+ if (errorInfo != null){\r
outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
}\r
- else\r
- {\r
+ else{\r
transaction = true;\r
outputBuilder.setResultCode(Ok).setMessage("Transaction Begin.");\r
}\r
}\r
-\r
return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<EndTransactionOutput>> endTransaction(EndTransactionInput input) {\r
+\r
final EndTransactionOutputBuilder outputBuilder = new EndTransactionOutputBuilder();\r
\r
- if (!transaction)\r
- {\r
+ if (!transaction){\r
outputBuilder.setResultCode(Error).setMessage("The transaction has not started.");\r
}\r
- else\r
- {\r
+ else{\r
String errorInfo = transactionEnd.transactionend(aaa,input);\r
- if (errorInfo != null)\r
- {\r
+ if (errorInfo != null){\r
outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
}\r
- else\r
- {\r
+ else{\r
transaction = false;\r
- if (informresolver)\r
- {\r
+ if (informresolver){\r
informresolver = false;\r
- try\r
- {\r
+ try{\r
intentResolver.resolveIntent(input.getUserId());\r
outputBuilder.setResultCode(Ok).setMessage("The transaction ends.");\r
}\r
- catch (IntentResolutionException | VNMappingException e)\r
- {\r
+ catch (IntentResolutionException e){\r
e.printStackTrace();\r
outputBuilder.setResultCode(Error).setMessage(e.getMessage());\r
}\r
- catch (Exception e)\r
- {\r
+ catch (VNMappingException e){\r
+ e.printStackTrace();\r
+ outputBuilder.setResultCode(Error).setMessage(e.getMessage());\r
+ }\r
+ catch (Exception e){\r
e.printStackTrace();\r
}\r
}\r
- else\r
- {\r
+ else{\r
outputBuilder.setResultCode(Ok).setMessage("The transaction ends.");\r
}\r
-\r
}\r
}\r
-\r
return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<LanguageStyleNemoRequestOutput>> languageStyleNemoRequest(LanguageStyleNemoRequestInput input) {\r
- final LanguageStyleNemoRequestOutputBuilder outputBuilder = new LanguageStyleNemoRequestOutputBuilder();\r
-\r
- String errorInfo = languageIntent.LanIntentHandler(aaa,input);\r
\r
- if (errorInfo != null)\r
- {\r
- outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
+ final LanguageStyleNemoRequestOutputBuilder outputBuilder = new LanguageStyleNemoRequestOutputBuilder();\r
+ try {\r
+ String errorInfo = languageIntent.LanIntentHandler(aaa,input);\r
+ if (errorInfo != null){\r
+ if (errorInfo.contains(NEMOConstants.Results)){\r
+ outputBuilder.setResultCode(Ok).setMessage(errorInfo);\r
+ }\r
+ else{\r
+ outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
+ }\r
+ }\r
+ else{\r
+ outputBuilder.setResultCode(Ok).setMessage("The intent has been stored in this transaction.");\r
+ informresolver = true;\r
+ }\r
}\r
- else\r
- {\r
- outputBuilder.setResultCode(Ok).setMessage("The intent has been stored in this transaction.");\r
- informresolver = true;\r
+ catch (ParseException e) {\r
+ e.printStackTrace();\r
+ outputBuilder.setResultCode(Error).setMessage(e.getMessage());\r
+ }\r
+ catch (NumberFormatException e) {\r
+ e.printStackTrace();\r
+ outputBuilder.setResultCode(Error).setMessage(e.getMessage());\r
}\r
-\r
return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<RegisterUserOutput>> registerUser(RegisterUserInput input) {\r
- final RegisterUserOutputBuilder registerUserOutputBuilder = new RegisterUserOutputBuilder();\r
\r
+ final RegisterUserOutputBuilder outputBuilder = new RegisterUserOutputBuilder();\r
String errorInfo = registerUser.registerUser(input);\r
\r
- if (errorInfo != null)\r
- {\r
- registerUserOutputBuilder.setResultCode(Error).setMessage(errorInfo);\r
+ if (errorInfo != null){\r
+ outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
}\r
- else\r
- {\r
- registerUserOutputBuilder.setResultCode(Ok).setMessage("Register user successfully.");\r
+ else{\r
+ outputBuilder.setResultCode(Ok).setMessage("Register user successfully.");\r
}\r
-\r
- return RpcResultBuilder.success(registerUserOutputBuilder).buildFuture();\r
+ return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<StructureStyleNemoDeleteOutput>> structureStyleNemoDelete(StructureStyleNemoDeleteInput input) {\r
- final StructureStyleNemoDeleteOutputBuilder outputBuilder = new StructureStyleNemoDeleteOutputBuilder();\r
\r
+ final StructureStyleNemoDeleteOutputBuilder outputBuilder = new StructureStyleNemoDeleteOutputBuilder();\r
String errorInfo = deleteIntent.styleNemoDeleteOutput(aaa,input);\r
\r
- if (errorInfo != null)\r
- {\r
+ if (errorInfo != null){\r
outputBuilder.setResultCode(Error).setMessage(errorInfo);\r
}\r
- else\r
- {\r
+ else{\r
outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully.");\r
informresolver = true;\r
}\r
-\r
return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
\r
@Override\r
public Future<RpcResult<StructureStyleNemoUpdateOutput>> structureStyleNemoUpdate(StructureStyleNemoUpdateInput input) {\r
- final StructureStyleNemoUpdateOutputBuilder outputBuilder = new StructureStyleNemoUpdateOutputBuilder();\r
\r
- String erroInfo = updateIntent.updateIntent(aaa,input);\r
-\r
- if (erroInfo != null)\r
- {\r
- outputBuilder.setResultCode(Error).setMessage(erroInfo);\r
+ final StructureStyleNemoUpdateOutputBuilder outputBuilder = new StructureStyleNemoUpdateOutputBuilder();\r
+ try {\r
+ String erroInfo = updateIntent.updateIntent(aaa,input);\r
+ if (erroInfo != null){\r
+ outputBuilder.setResultCode(Error).setMessage(erroInfo);\r
+ }\r
+ else{\r
+ outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully.");\r
+ informresolver = true;\r
+ }\r
}\r
- else\r
- {\r
- outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully.");\r
- informresolver = true;\r
+ catch (NumberFormatException e){\r
+ e.printStackTrace();\r
+ outputBuilder.setResultCode(Error).setMessage(e.getMessage());\r
}\r
-\r
return RpcResultBuilder.success(outputBuilder).buildFuture();\r
}\r
}\r