X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=nemo-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnemo%2Fuser%2FUserManager.java;h=ae2f91b653c5c843f2a28dbf1d6e33ad6b8caf01;hb=41608cf440761e08334d3a12fcf0cb72ef38e8dd;hp=2d4ca33217ddb1b8c9cdfa9af9dc8de8e6116ff6;hpb=5ffcb8a0bc4cefdee8842b30d14d0becc8f350ff;p=nemo.git diff --git a/nemo-impl/src/main/java/org/opendaylight/nemo/user/UserManager.java b/nemo-impl/src/main/java/org/opendaylight/nemo/user/UserManager.java index 2d4ca33..ae2f91b 100644 --- a/nemo-impl/src/main/java/org/opendaylight/nemo/user/UserManager.java +++ b/nemo-impl/src/main/java/org/opendaylight/nemo/user/UserManager.java @@ -7,9 +7,6 @@ */ package org.opendaylight.nemo.user; -import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Error; -import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Ok; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.nemo.intent.IntentResolutionException; import org.opendaylight.nemo.intent.IntentResolver; @@ -21,23 +18,27 @@ import org.opendaylight.nemo.user.tenantmanager.TenantManage; import org.opendaylight.nemo.user.transactionmanager.TransactionBegin; import org.opendaylight.nemo.user.transactionmanager.TransactionEnd; import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent; +import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants; +import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.ParseException; import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteIntent; import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateIntent; -import org.opendaylight.nemo.user.vnspacemanager.VNSpaceManagement; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.*; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.concurrent.Future; +import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Error; +import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Ok; + /** * Created by z00293636 on 2015/9/7. */ public class UserManager implements NemoIntentService { - + private static final Logger LOG = LoggerFactory.getLogger(UserManager.class); private final DataBroker dataBroker; - private VNSpaceManagement vnSpaceManagement; private RegisterUser registerUser; private UpdateIntent updateIntent; private DeleteIntent deleteIntent; @@ -57,183 +58,176 @@ public class UserManager implements NemoIntentService { this.dataBroker = dataBroker0; this.intentResolver = intentResolver0; - vnSpaceManagement = new VNSpaceManagement(dataBroker); tenantManage = new TenantManage(dataBroker); aaa = new AAA(tenantManage); registerUser = new RegisterUser(tenantManage); updateIntent = new UpdateIntent(dataBroker,tenantManage); deleteIntent = new DeleteIntent(dataBroker, tenantManage); - languageIntent = new LanguageIntent(dataBroker); + languageIntent = new LanguageIntent(dataBroker,tenantManage); advancedQuery = new AdvancedQuery(dataBroker, tenantManage); - transactionBegin = new TransactionBegin(); transactionEnd = new TransactionEnd(); transaction = false; informresolver = false; } - @Override public Future> advancedNemoQuery(AdvancedNemoQueryInput input) { - final AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder(); + final AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder(); String errorInfo = advancedQuery.advancedQuery(aaa, input); - if (errorInfo != null) - { + + if (errorInfo != null){ outputBuilder.setResultCode(Error).setMessage(errorInfo); } - else - { + else{ outputBuilder.setResultCode(Ok).setMessage(advancedQuery.getAdvancedQueryReuslt(input)); } - return RpcResultBuilder.success(outputBuilder).buildFuture(); + return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> beginTransaction(BeginTransactionInput input) { - final BeginTransactionOutputBuilder outputBuilder = new BeginTransactionOutputBuilder(); - if (transaction) - { + final BeginTransactionOutputBuilder outputBuilder = new BeginTransactionOutputBuilder(); + if (transaction){ outputBuilder.setResultCode(Error).setMessage("The previous transaction has not been finished."); } - else - { + else{ String errorInfo = transactionBegin.transactionbegin(aaa,input); - if (errorInfo != null) - { + if (errorInfo != null){ outputBuilder.setResultCode(Error).setMessage(errorInfo); } - else - { + else{ transaction = true; outputBuilder.setResultCode(Ok).setMessage("Transaction Begin."); } } - return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> endTransaction(EndTransactionInput input) { + final EndTransactionOutputBuilder outputBuilder = new EndTransactionOutputBuilder(); - if (!transaction) - { + if (!transaction){ outputBuilder.setResultCode(Error).setMessage("The transaction has not started."); } - else - { + else{ String errorInfo = transactionEnd.transactionend(aaa,input); - if (errorInfo != null) - { + if (errorInfo != null){ outputBuilder.setResultCode(Error).setMessage(errorInfo); } - else - { + else{ transaction = false; - if (informresolver) - { + tenantManage.transactionHandling(input.getUserId()); + if (informresolver){ informresolver = false; - try - { + try{ intentResolver.resolveIntent(input.getUserId()); outputBuilder.setResultCode(Ok).setMessage("The transaction ends."); } - catch (IntentResolutionException | VNMappingException e) - { - e.printStackTrace(); + catch (IntentResolutionException e){ + LOG.error("Exception:",e); outputBuilder.setResultCode(Error).setMessage(e.getMessage()); } - catch (Exception e) - { - e.printStackTrace(); + catch (VNMappingException e){ + LOG.error("Exception:",e); + outputBuilder.setResultCode(Error).setMessage(e.getMessage()); + } + catch (Exception e){ + LOG.error("Exception:",e); } } - else - { + else{ outputBuilder.setResultCode(Ok).setMessage("The transaction ends."); } - } } - return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> languageStyleNemoRequest(LanguageStyleNemoRequestInput input) { - final LanguageStyleNemoRequestOutputBuilder outputBuilder = new LanguageStyleNemoRequestOutputBuilder(); - - String errorInfo = languageIntent.LanIntentHandler(aaa,input); - if (errorInfo != null) - { - outputBuilder.setResultCode(Error).setMessage(errorInfo); + final LanguageStyleNemoRequestOutputBuilder outputBuilder = new LanguageStyleNemoRequestOutputBuilder(); + try { + String errorInfo = languageIntent.LanIntentHandler(aaa,input); + if (errorInfo != null){ + if (errorInfo.contains(NEMOConstants.Results)){ + outputBuilder.setResultCode(Ok).setMessage(errorInfo); + } + else{ + outputBuilder.setResultCode(Error).setMessage(errorInfo); + } + } + else{ + outputBuilder.setResultCode(Ok).setMessage("The intent has been stored in this transaction."); + informresolver = true; + } } - else - { - outputBuilder.setResultCode(Ok).setMessage("The intent has been stored in this transaction."); - informresolver = true; + catch (ParseException e) { + LOG.error("Exception:",e); + outputBuilder.setResultCode(Error).setMessage(e.getMessage()); + } + catch (NumberFormatException e) { + LOG.error("Exception:",e); + outputBuilder.setResultCode(Error).setMessage(e.getMessage()); } - return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> registerUser(RegisterUserInput input) { - final RegisterUserOutputBuilder registerUserOutputBuilder = new RegisterUserOutputBuilder(); + final RegisterUserOutputBuilder outputBuilder = new RegisterUserOutputBuilder(); String errorInfo = registerUser.registerUser(input); - if (errorInfo != null) - { - registerUserOutputBuilder.setResultCode(Error).setMessage(errorInfo); + if (errorInfo != null){ + outputBuilder.setResultCode(Error).setMessage(errorInfo); } - else - { - registerUserOutputBuilder.setResultCode(Ok).setMessage("Register user successfully."); + else{ + outputBuilder.setResultCode(Ok).setMessage("Register user successfully."); } - - return RpcResultBuilder.success(registerUserOutputBuilder).buildFuture(); + return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> structureStyleNemoDelete(StructureStyleNemoDeleteInput input) { - final StructureStyleNemoDeleteOutputBuilder outputBuilder = new StructureStyleNemoDeleteOutputBuilder(); + final StructureStyleNemoDeleteOutputBuilder outputBuilder = new StructureStyleNemoDeleteOutputBuilder(); String errorInfo = deleteIntent.styleNemoDeleteOutput(aaa,input); - if (errorInfo != null) - { + if (errorInfo != null){ outputBuilder.setResultCode(Error).setMessage(errorInfo); } - else - { + else{ outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully."); informresolver = true; } - return RpcResultBuilder.success(outputBuilder).buildFuture(); } @Override public Future> structureStyleNemoUpdate(StructureStyleNemoUpdateInput input) { - final StructureStyleNemoUpdateOutputBuilder outputBuilder = new StructureStyleNemoUpdateOutputBuilder(); - String erroInfo = updateIntent.updateIntent(aaa,input); - - if (erroInfo != null) - { - outputBuilder.setResultCode(Error).setMessage(erroInfo); + final StructureStyleNemoUpdateOutputBuilder outputBuilder = new StructureStyleNemoUpdateOutputBuilder(); + try { + String erroInfo = updateIntent.updateIntent(aaa,input); + if (erroInfo != null){ + outputBuilder.setResultCode(Error).setMessage(erroInfo); + } + else{ + outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully."); + informresolver = true; + } } - else - { - outputBuilder.setResultCode(Ok).setMessage("The intent has been handled by user manager successfully."); - informresolver = true; + catch (NumberFormatException e){ + LOG.error("Exception:",e); + outputBuilder.setResultCode(Error).setMessage(e.getMessage()); } - return RpcResultBuilder.success(outputBuilder).buildFuture(); } }