From 169a896f8fc4db5a0054d31bb5bfd254f2352bb0 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Fri, 18 Aug 2017 15:00:17 +0800 Subject: [PATCH] Remove abandoned codes of catalog Change-Id: Id258c64b6fbf0e25da8c033991e4a3ba21ad806e Issue-Id: VFC-107 Signed-off-by: fujinhua --- .gitattributes | 2 - .gitignore | 7 - .gitreview | 4 - README.md | 1 - catalog-core/catalog-mgr/pom.xml | 311 -- .../org/openo/commontosca/catalog/CatalogApp.java | 169 - .../catalog/CatalogAppConfiguration.java | 145 - .../catalog/cometd/CometdException.java | 34 - .../commontosca/catalog/cometd/CometdService.java | 104 - .../commontosca/catalog/cometd/CometdServlet.java | 95 - .../commontosca/catalog/cometd/CometdUtil.java | 60 - .../commontosca/catalog/common/CommonConstant.java | 50 - .../catalog/common/CommonErrorResponse.java | 41 - .../openo/commontosca/catalog/common/Config.java | 31 - .../commontosca/catalog/common/DateTimeUtil.java | 33 - .../catalog/common/EnumUploadStatus.java | 22 - .../openo/commontosca/catalog/common/FileUtil.java | 185 - .../commontosca/catalog/common/FtpClient.java | 211 - .../catalog/common/HttpServerAddrConfig.java | 31 - .../catalog/common/HttpServerPathConfig.java | 29 - .../commontosca/catalog/common/MsbAddrConfig.java | 30 - .../openo/commontosca/catalog/common/MsbUtil.java | 55 - .../openo/commontosca/catalog/common/RestUtil.java | 34 - .../catalog/common/ServiceRegistrer.java | 97 - .../openo/commontosca/catalog/common/ToolUtil.java | 403 -- .../commontosca/catalog/common/ZipCompressor.java | 122 - .../catalog/db/common/CatalogResuorceType.java | 25 - .../commontosca/catalog/db/common/Parameters.java | 22 - .../openo/commontosca/catalog/db/dao/BaseDao.java | 218 - .../commontosca/catalog/db/dao/DaoManager.java | 162 - .../catalog/db/dao/NodeTemplateDao.java | 33 - .../commontosca/catalog/db/dao/PackageDao.java | 33 - .../catalog/db/dao/ServiceTemplateDao.java | 32 - .../catalog/db/dao/ServiceTemplateMappingDao.java | 32 - .../commontosca/catalog/db/dao/TemplateDao.java | 80 - .../commontosca/catalog/db/entity/BaseData.java | 20 - .../catalog/db/entity/NodeTemplateData.java | 100 - .../commontosca/catalog/db/entity/PackageData.java | 187 - .../catalog/db/entity/ServiceTemplateData.java | 160 - .../db/entity/ServiceTemplateMappingData.java | 86 - .../catalog/db/entity/TemplateData.java | 41 - .../db/exception/CatalogResourceException.java | 77 - .../catalog/db/exception/ErrorCodeException.java | 144 - .../catalog/db/hibernate/HibernateBundleAgent.java | 91 - .../catalog/db/hibernate/HibernateBundleExt.java | 87 - .../catalog/db/resource/PackageManager.java | 181 - .../catalog/db/resource/TemplateManager.java | 301 -- .../commontosca/catalog/db/util/CatalogDbUtil.java | 48 - .../commontosca/catalog/db/util/HqlFactory.java | 208 - .../catalog/db/wrapper/BaseHandler.java | 212 - .../catalog/db/wrapper/NodeTemplateHandler.java | 57 - .../catalog/db/wrapper/PackageHandler.java | 159 - .../catalog/db/wrapper/ServiceTemplateHandler.java | 95 - .../db/wrapper/ServiceTemplateMappingHandler.java | 113 - .../catalog/db/wrapper/TemplateHandler.java | 90 - .../commontosca/catalog/entity/CsarPackage.java | 101 - .../catalog/entity/CsarQueryCondition.java | 38 - .../catalog/entity/EnumOnboardState.java | 30 - .../catalog/entity/EnumOperationalState.java | 20 - .../catalog/entity/EnumProcessState.java | 20 - .../openo/commontosca/catalog/entity/EnumType.java | 20 - .../commontosca/catalog/entity/EnumUsageState.java | 20 - .../commontosca/catalog/entity/VnfPackage.java | 100 - .../catalog/entity/request/PackageBasicInfo.java | 38 - .../entity/response/CsarFileUriResponse.java | 31 - .../catalog/entity/response/PackageMeta.java | 61 - .../entity/response/UploadPackageResponse.java | 30 - .../catalog/externalservice/msb/ApiRouteInfo.java | 106 - .../msb/MicroserviceBusConsumer.java | 66 - .../externalservice/msb/MicroserviceBusRest.java | 44 - .../catalog/externalservice/msb/RouteServer.java | 53 - .../catalog/externalservice/msb/ServiceNode.java | 33 - .../externalservice/msb/ServiceRegisterEntity.java | 57 - .../catalog/filemanage/FileManager.java | 35 - .../catalog/filemanage/FileManagerFactory.java | 53 - .../catalog/filemanage/FileManagerType.java | 23 - .../filemanage/http/HttpFileManagerImpl.java | 67 - .../catalog/filemanage/http/ToolUtil.java | 193 - .../org/openo/commontosca/catalog/ftp/Ftp.java | 37 - .../org/openo/commontosca/catalog/ftp/FtpUtil.java | 206 - .../catalog/health/ConsoleHealthCheck.java | 35 - .../model/common/EnumToscaNodeTypeDefinition.java | 65 - .../common/EnumToscaRelationShipDefinition.java | 46 - .../catalog/model/common/TemplateDataHelper.java | 267 -- .../catalog/model/common/TemplateUtils.java | 197 - .../catalog/model/entity/CapReqMapping.java | 33 - .../catalog/model/entity/InputParameter.java | 32 - .../catalog/model/entity/KeyValuePair.java | 28 - .../catalog/model/entity/NfvTemplate.java | 34 - .../catalog/model/entity/NodeTemplate.java | 34 - .../catalog/model/entity/OutputParameter.java | 33 - .../catalog/model/entity/Parameters.java | 31 - .../model/entity/QueryRawDataCondition.java | 29 - .../catalog/model/entity/RelationShip.java | 37 - .../catalog/model/entity/ServiceTemplate.java | 51 - .../model/entity/ServiceTemplateOperation.java | 37 - .../model/entity/ServiceTemplateRawData.java | 29 - .../catalog/model/entity/SubstitutionMapping.java | 45 - .../container/ContainerSelfServiceProvider.java | 67 - .../container/ContainerServiceConsumer.java | 228 - .../ContainerServiceNodeTemplateProvider.java | 76 - .../container/ContainerServicePackageProvider.java | 68 - .../ContainerServiceTemplateProvider.java | 67 - .../container/IContainerExtPackageRest.java | 50 - .../container/IContainerPortabilityRest.java | 34 - .../container/IContainerSelfServiceRest.java | 49 - .../container/IContainerTemplateRest.java | 46 - .../externalservice/container/NamespaceFilter.java | 100 - .../externalservice/container/StringProvider.java | 49 - .../entity/container/ContainerSelfService.java | 87 - .../container/ContainerSelfServiceOption.java | 96 - .../container/ContainerServiceCommonParam.java | 45 - .../container/ContainerServiceNodeTemplate.java | 315 -- .../ContainerServiceNodeTemplateList.java | 40 - .../ContainerServiceOperationParameter.java | 20 - .../entity/container/ContainerServicePackage.java | 58 - .../container/ContainerServicePackageList.java | 42 - .../container/ContainerServiceRelationShip.java | 79 - .../entity/container/ContainerServiceTemplate.java | 329 -- .../container/ContainerServiceTemplateList.java | 41 - .../entity/lifecycle/InstanceEntity.java | 28 - .../entity/ro/ResourceResponseEntity.java | 39 - .../model/externalservice/entity/ro/VimEntity.java | 74 - .../lifecycle/ILifeCycleServiceRest.java | 34 - .../lifecycle/LifeCycleServiceConsumer.java | 66 - .../externalservice/ro/IResourceServiceRest.java | 36 - .../ro/ResourceServiceConsumer.java | 77 - .../catalog/model/parser/AbstractModelParser.java | 260 -- .../catalog/model/parser/EnumPackageFormat.java | 26 - .../catalog/model/parser/EnumTemplateType.java | 20 - .../catalog/model/parser/ModelParserFactory.java | 80 - .../model/parser/yaml/aria/AriaModelParser.java | 311 -- .../aria/entity/AriaParserExceptionResult.java | 39 - .../parser/yaml/aria/entity/AriaParserRequest.java | 41 - .../parser/yaml/aria/entity/AriaParserResult.java | 233 - .../aria/service/AriaParserServiceConsumer.java | 68 - .../parser/yaml/aria/service/IAriaParserRest.java | 35 - .../model/parser/yaml/yamlmodel/EntrySchema.java | 42 - .../catalog/model/parser/yaml/yamlmodel/Input.java | 78 - .../catalog/model/parser/yaml/yamlmodel/Plan.java | 47 - .../parser/yaml/yamlmodel/ServiceTemplate.java | 37 - .../model/parser/yaml/yamlmodel/YAMLElement.java | 48 - .../parser/yaml/zte/ToscaYamlModelParser.java | 235 - .../zte/entity/EnumYamlServiceTemplateInfo.java | 40 - .../yaml/zte/entity/ParseYamlRequestParemeter.java | 65 - .../parser/yaml/zte/entity/ParseYamlResult.java | 883 ---- .../parser/yaml/zte/service/IYamlParseRest.java | 34 - .../yaml/zte/service/YamlParseServiceConsumer.java | 57 - .../catalog/model/plan/wso2/Iwso2RestService.java | 56 - .../catalog/model/plan/wso2/RestResponse.java | 33 - .../catalog/model/plan/wso2/RestfulClient.java | 116 - .../model/plan/wso2/Wso2ServiceConsumer.java | 185 - .../plan/wso2/entity/DeletePackageResponse.java | 45 - .../plan/wso2/entity/DeployPackageResponse.java | 48 - .../plan/wso2/entity/StartProcessRequest.java | 33 - .../plan/wso2/entity/StartProcessResponse.java | 46 - .../catalog/model/service/ModelService.java | 126 - .../model/wrapper/ServiceTemplateWrapper.java | 378 -- .../resources/CatalogBadRequestException.java | 72 - .../catalog/resources/PackageResource.java | 237 - .../commontosca/catalog/resources/RestUtils.java | 36 - .../catalog/resources/TemplateResource.java | 453 -- .../catalog/wrapper/PackageWrapper.java | 484 -- .../catalog/wrapper/PackageWrapperUtil.java | 456 -- .../main/resources/api-doc/META-INF/MANIFEST.MF | 3 - .../src/main/resources/api-doc/WEB-INF/web.xml | 41 - .../src/main/resources/api-doc/css/reset.css | 140 - .../src/main/resources/api-doc/css/screen.css | 1271 ------ .../src/main/resources/api-doc/css/typography.css | 41 - .../api-doc/fonts/droid-sans-v6-latin-700.eot | Bin 22924 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-700.svg | 411 -- .../api-doc/fonts/droid-sans-v6-latin-700.ttf | Bin 40516 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-700.woff | Bin 25992 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-700.woff2 | Bin 11480 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-regular.eot | Bin 22008 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-regular.svg | 403 -- .../api-doc/fonts/droid-sans-v6-latin-regular.ttf | Bin 39072 -> 0 bytes .../api-doc/fonts/droid-sans-v6-latin-regular.woff | Bin 24868 -> 0 bytes .../fonts/droid-sans-v6-latin-regular.woff2 | Bin 11304 -> 0 bytes .../resources/api-doc/images/explorer_icons.png | Bin 5763 -> 0 bytes .../main/resources/api-doc/images/logo_small.png | Bin 770 -> 0 bytes .../resources/api-doc/images/pet_store_api.png | Bin 824 -> 0 bytes .../src/main/resources/api-doc/images/throbber.gif | Bin 9257 -> 0 bytes .../main/resources/api-doc/images/wordnik_api.png | Bin 980 -> 0 bytes .../src/main/resources/api-doc/index.html | 115 - .../src/main/resources/api-doc/lib/backbone-min.js | 30 - .../main/resources/api-doc/lib/handlebars-2.0.0.js | 43 - .../resources/api-doc/lib/highlight.7.3.pack.js | 16 - .../main/resources/api-doc/lib/jquery-1.8.0.min.js | 17 - .../resources/api-doc/lib/jquery.ba-bbq.min.js | 25 - .../resources/api-doc/lib/jquery.slideto.min.js | 16 - .../resources/api-doc/lib/jquery.wiggle.min.js | 23 - .../src/main/resources/api-doc/lib/marked.js | 1281 ------ .../src/main/resources/api-doc/lib/shred.bundle.js | 2780 ------------ .../main/resources/api-doc/lib/shred/content.js | 207 - .../main/resources/api-doc/lib/swagger-client.js | 3309 -------------- .../main/resources/api-doc/lib/swagger-oauth.js | 294 -- .../main/resources/api-doc/lib/underscore-min.js | 21 - .../src/main/resources/api-doc/o2c.html | 37 - .../src/main/resources/api-doc/swagger-ui.js | 2255 ---------- .../src/main/resources/api-doc/swagger-ui.min.js | 17 - .../catalog-mgr/src/main/resources/migrations.xml | 36 - .../catalog/db/resource/IntegrationManager.java | 199 - .../catalog/db/resource/PackageManagerTest.java | 181 - .../catalog/db/resource/TemplateManagerTest.java | 189 - .../db/resource/TemplateMappingManagerTest.java | 172 - .../catalog/db/resource/dao/PackageDaoTest.java | 153 - .../catalog/db/util/CatalogDbUtilTest.java | 61 - .../commontosca/catalog/db/util/H2DbServer.java | 58 - .../catalog/db/util/H2DbServerUtil.java | 64 - .../catalog/db/util/HibernateSession.java | 84 - .../catalog/db/util/HqlFactoryTest.java | 117 - .../catalog/wrapper/PackageWrapperTest.java | 312 -- .../wrapper/ServiceTemplateWrapperTest.java | 489 -- .../catalog/wrapper/TestYamlModelParser.java | 32 - .../src/test/resources/Hibernate.cfg.xml | 37 - .../catalog-mgr/src/test/resources/NanocellGW.csar | Bin 80812 -> 0 bytes .../src/test/resources/db/catalog.mv.db | Bin 16384 -> 0 bytes .../sql/catalog-resource-createObj-mysql.sql | 76 - catalog-core/distribution/catalog-all/pom.xml | 231 - .../catalog-all/src/main/assembly/shutdown.bat | 28 - .../catalog-all/src/main/assembly/shutdown.sh | 32 - .../catalog-all/src/main/assembly/startup.bat | 30 - .../catalog-all/src/main/assembly/startup.sh | 37 - .../distribution/catalog-standalone/pom.xml | 168 - .../src/main/assembly/bin/find_kill_process.bat | 24 - .../src/main/assembly/bin/initDB.bat | 34 - .../src/main/assembly/bin/initDB.sh | 34 - .../src/main/assembly/bin/run.bat | 41 - .../src/main/assembly/bin/run.sh | 35 - .../src/main/assembly/bin/stop.bat | 34 - .../src/main/assembly/bin/stop.sh | 44 - .../src/main/assembly/conf/catalog.yml | 85 - .../mysql/openo-common_tosca-catalog-createobj.sql | 97 - catalog-core/distribution/pom.xml | 44 - catalog-core/httpserver/pom.xml | 139 - .../src/main/assembly/tomcat/conf/server.xml | 162 - .../src/main/assembly/tomcat/conf/web.xml | 4681 -------------------- .../src/main/assembly/tomcat/logs/delete.me | 0 catalog-core/pom.xml | 36 - catalog-parent/catalogparent-lite/pom.xml | 120 - catalog-parent/catalogparent/pom.xml | 233 - catalog-parent/pom.xml | 37 - pom.xml | 45 - 244 files changed, 37275 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitignore delete mode 100644 .gitreview delete mode 100644 README.md delete mode 100644 catalog-core/catalog-mgr/pom.xml delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogApp.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogAppConfiguration.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdException.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdService.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdServlet.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonConstant.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonErrorResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/Config.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/DateTimeUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/EnumUploadStatus.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FileUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FtpClient.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerAddrConfig.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerPathConfig.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbAddrConfig.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/RestUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ServiceRegistrer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ToolUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ZipCompressor.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/CatalogResuorceType.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/Parameters.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/BaseDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/DaoManager.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/NodeTemplateDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/PackageDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateMappingDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/TemplateDao.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/BaseData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/NodeTemplateData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/PackageData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateMappingData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/TemplateData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/CatalogResourceException.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/ErrorCodeException.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleAgent.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleExt.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/PackageManager.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/TemplateManager.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/CatalogDbUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/HqlFactory.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/BaseHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/NodeTemplateHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/PackageHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateMappingHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/TemplateHandler.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarPackage.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarQueryCondition.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOnboardState.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOperationalState.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumProcessState.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumType.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumUsageState.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/VnfPackage.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/request/PackageBasicInfo.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/CsarFileUriResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/PackageMeta.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/UploadPackageResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ApiRouteInfo.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/RouteServer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceNode.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceRegisterEntity.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManager.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerFactory.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerType.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/HttpFileManagerImpl.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/ToolUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/Ftp.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/FtpUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/health/ConsoleHealthCheck.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaNodeTypeDefinition.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaRelationShipDefinition.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateDataHelper.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateUtils.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/CapReqMapping.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/InputParameter.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/KeyValuePair.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NfvTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NodeTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/OutputParameter.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/Parameters.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/QueryRawDataCondition.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/RelationShip.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateOperation.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateRawData.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/SubstitutionMapping.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerSelfServiceProvider.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceNodeTemplateProvider.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServicePackageProvider.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceTemplateProvider.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerExtPackageRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerPortabilityRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerSelfServiceRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerTemplateRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/NamespaceFilter.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/StringProvider.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfService.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfServiceOption.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceCommonParam.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplateList.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceOperationParameter.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackage.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackageList.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceRelationShip.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplateList.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/lifecycle/InstanceEntity.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/ResourceResponseEntity.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/VimEntity.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/ILifeCycleServiceRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/LifeCycleServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/IResourceServiceRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/ResourceServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/AbstractModelParser.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumPackageFormat.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumTemplateType.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/ModelParserFactory.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/AriaModelParser.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserExceptionResult.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserRequest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserResult.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/AriaParserServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/IAriaParserRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/EntrySchema.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Input.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Plan.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/ServiceTemplate.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/YAMLElement.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/ToscaYamlModelParser.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/EnumYamlServiceTemplateInfo.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlRequestParemeter.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlResult.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/IYamlParseRest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/YamlParseServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Iwso2RestService.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestfulClient.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Wso2ServiceConsumer.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeletePackageResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeployPackageResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessRequest.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessResponse.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/service/ModelService.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/wrapper/ServiceTemplateWrapper.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/CatalogBadRequestException.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/PackageResource.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/RestUtils.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/TemplateResource.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapper.java delete mode 100644 catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapperUtil.java delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/META-INF/MANIFEST.MF delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/WEB-INF/web.xml delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/css/reset.css delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/css/screen.css delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/css/typography.css delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.eot delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.svg delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.ttf delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff2 delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.eot delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.svg delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.ttf delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff2 delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/images/explorer_icons.png delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/images/logo_small.png delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/images/pet_store_api.png delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/images/throbber.gif delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/images/wordnik_api.png delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/index.html delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/backbone-min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/handlebars-2.0.0.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/highlight.7.3.pack.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/jquery-1.8.0.min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/jquery.ba-bbq.min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/jquery.slideto.min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/jquery.wiggle.min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/marked.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/shred.bundle.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/shred/content.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/swagger-client.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/swagger-oauth.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/lib/underscore-min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/o2c.html delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/swagger-ui.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/api-doc/swagger-ui.min.js delete mode 100644 catalog-core/catalog-mgr/src/main/resources/migrations.xml delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/resource/IntegrationManager.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/resource/PackageManagerTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/resource/TemplateManagerTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/resource/TemplateMappingManagerTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/resource/dao/PackageDaoTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/util/CatalogDbUtilTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/util/H2DbServer.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/util/H2DbServerUtil.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/util/HibernateSession.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/db/util/HqlFactoryTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/wrapper/PackageWrapperTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/wrapper/ServiceTemplateWrapperTest.java delete mode 100644 catalog-core/catalog-mgr/src/test/java/org/openo/commontosca/catalog/wrapper/TestYamlModelParser.java delete mode 100644 catalog-core/catalog-mgr/src/test/resources/Hibernate.cfg.xml delete mode 100644 catalog-core/catalog-mgr/src/test/resources/NanocellGW.csar delete mode 100644 catalog-core/catalog-mgr/src/test/resources/db/catalog.mv.db delete mode 100644 catalog-core/catalog-mgr/src/test/resources/sql/catalog-resource-createObj-mysql.sql delete mode 100644 catalog-core/distribution/catalog-all/pom.xml delete mode 100644 catalog-core/distribution/catalog-all/src/main/assembly/shutdown.bat delete mode 100644 catalog-core/distribution/catalog-all/src/main/assembly/shutdown.sh delete mode 100644 catalog-core/distribution/catalog-all/src/main/assembly/startup.bat delete mode 100644 catalog-core/distribution/catalog-all/src/main/assembly/startup.sh delete mode 100644 catalog-core/distribution/catalog-standalone/pom.xml delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/find_kill_process.bat delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/initDB.bat delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/initDB.sh delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/run.bat delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/run.sh delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/stop.bat delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/bin/stop.sh delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/conf/catalog.yml delete mode 100644 catalog-core/distribution/catalog-standalone/src/main/assembly/dbscripts/mysql/openo-common_tosca-catalog-createobj.sql delete mode 100644 catalog-core/distribution/pom.xml delete mode 100644 catalog-core/httpserver/pom.xml delete mode 100644 catalog-core/httpserver/src/main/assembly/tomcat/conf/server.xml delete mode 100644 catalog-core/httpserver/src/main/assembly/tomcat/conf/web.xml delete mode 100644 catalog-core/httpserver/src/main/assembly/tomcat/logs/delete.me delete mode 100644 catalog-core/pom.xml delete mode 100644 catalog-parent/catalogparent-lite/pom.xml delete mode 100644 catalog-parent/catalogparent/pom.xml delete mode 100644 catalog-parent/pom.xml delete mode 100644 pom.xml diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 13e92efa..00000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.java text eol=lf -*.xml text eol=lf diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 98c7c056..00000000 --- a/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.idea -*.iml -.classpath -.project -.settings -target -dependency-reduced-pom.xml \ No newline at end of file diff --git a/.gitreview b/.gitreview deleted file mode 100644 index c5d97b4b..00000000 --- a/.gitreview +++ /dev/null @@ -1,4 +0,0 @@ -[gerrit] -host=gerrit.open-o.org -port=29418 -project=common-tosca-catalog.git diff --git a/README.md b/README.md deleted file mode 100644 index a404e883..00000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -Catalog \ No newline at end of file diff --git a/catalog-core/catalog-mgr/pom.xml b/catalog-core/catalog-mgr/pom.xml deleted file mode 100644 index 23411d8b..00000000 --- a/catalog-core/catalog-mgr/pom.xml +++ /dev/null @@ -1,311 +0,0 @@ - - - - - org.openo.common-tosca.catalog - catalog-core-parent - 1.1.0-SNAPSHOT - - - 4.0.0 - catalog-mgr - common-tosca-catalog/catalog-core/catalog-mgr - jar - - 4.4.1 - - - - - - org.eclipse.m2e - lifecycle-mapping - - - - - - org.apache.maven.plugins - maven-dependency-plugin - [2.0,) - - copy-dependencies - - - - - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - - true - - - - - - org.apache.maven.plugins - maven-shade-plugin - - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - package - - shade - - - - - - org.openo.commontosca.catalog.catalogApp - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - - - io.dropwizard - dropwizard-core - ${dropwizard.version} - true - - - - - - - - - - - - - io.dropwizard - dropwizard-core - - - io.dropwizard - dropwizard-assets - - - io.dropwizard - dropwizard-hibernate - - - io.dropwizard - dropwizard-migrations - - - - io.swagger - swagger-jersey2-jaxrs - - - - org.projectlombok - lombok - - - - org.glassfish.jersey.core - jersey-server - - - org.glassfish.jersey.media - jersey-media-multipart - - - org.glassfish.jersey.containers - jersey-container-servlet-core - - - - com.eclipsesource.jaxrs - consumer - - - com.eclipsesource.jaxrs - jersey-all - - - - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - - - com.fasterxml.jackson.core - jackson-annotations - - - - com.google.code.gson - gson - - - - dom4j - dom4j - - - - org.cometd.java - bayeux-api - - - org.cometd.java - cometd-java-annotations - - - org.cometd.java - cometd-java-client - ${cometd.version} - - - org.cometd.java - cometd-java-common - - - org.cometd.java - cometd-java-oort - - - org.cometd.java - cometd-java-server - - - - commons-net - commons-net - - - - mysql - mysql-connector-java - - - - commons-fileupload - commons-fileupload - - - commons-io - commons-io - - - - io.dropwizard - dropwizard-testing - test - - - junit - junit - test - - - org.powermock - powermock-module-junit4 - test - - - org.powermock - powermock-api-mockito - test - - - org.mockito - mockito-all - test - - - com.h2database - h2 - test - - - org.apache.ant - ant - test - - - - - org.apache.httpcomponents - httpclient - ${httpclient.version} - - - - commons-logging - commons-logging - - - - - org.apache.httpcomponents - httpcore - ${httpclient.version} - - - org.apache.httpcomponents - httpmime - ${httpclient.version} - - - com.esotericsoftware.yamlbeans - yamlbeans - ${yamlbeans.version} - - - diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogApp.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogApp.java deleted file mode 100644 index 1528edc7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogApp.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog; - -import com.fasterxml.jackson.annotation.JsonInclude; - -import io.dropwizard.Application; -import io.dropwizard.assets.AssetsBundle; -import io.dropwizard.db.DataSourceFactory; -import io.dropwizard.hibernate.HibernateBundle; -import io.dropwizard.migrations.MigrationsBundle; -import io.dropwizard.server.SimpleServerFactory; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; -import io.swagger.jaxrs.config.BeanConfig; -import io.swagger.jaxrs.listing.ApiListingResource; - -import org.eclipse.jetty.servlets.CrossOriginFilter; -import org.glassfish.jersey.media.multipart.MultiPartFeature; -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.common.HttpServerAddrConfig; -import org.openo.commontosca.catalog.common.HttpServerPathConfig; -import org.openo.commontosca.catalog.common.MsbAddrConfig; -import org.openo.commontosca.catalog.common.ServiceRegistrer; -import org.openo.commontosca.catalog.db.dao.DaoManager; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.openo.commontosca.catalog.db.hibernate.HibernateBundleAgent; -import org.openo.commontosca.catalog.health.ConsoleHealthCheck; -import org.openo.commontosca.catalog.resources.PackageResource; -import org.openo.commontosca.catalog.resources.TemplateResource; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.EnumSet; -import javax.servlet.DispatcherType; - - - - -public class CatalogApp extends Application { - - private static final Logger LOGGER = LoggerFactory.getLogger(CatalogApp.class); - - public static void main(String[] args) throws Exception { - new CatalogApp().run(args); - } - - @Override - public String getName() { - return "OPENO-Catalog"; - } - private final HibernateBundleAgent bundle = new HibernateBundleAgent(); - @Override - public void initialize(Bootstrap bootstrap) { - bootstrap.addBundle(new AssetsBundle("/api-doc", "/api-doc", "index.html", "api-doc")); - initDb(bootstrap); - } - - // private void initDao() { - // DaoManager.getInstance().setSessionFactory(bundle.getSessionFactory()); - // } - - private void initDb(Bootstrap bootstrap) { - bootstrap.addBundle(bundle); - bootstrap.addBundle(new MigrationsBundle() { - @Override - public DataSourceFactory getDataSourceFactory(CatalogAppConfiguration configuration) { - return configuration.getDataSourceFactory(); - } - }); - } - - @Override - public void run(CatalogAppConfiguration configuration, Environment environment) { - LOGGER.info("Start to initialize catalogue."); - MsbAddrConfig.setMsbAddress(configuration.getMsbServerAddr()); - HttpServerAddrConfig.setHttpServerAddress(configuration.getHttpServerAddr()); - HttpServerPathConfig.setHttpServerPath(configuration.getHttpServerPath()); - //initDao(); - final ConsoleHealthCheck healthCheck = new ConsoleHealthCheck(configuration.getTemplate()); - environment.healthChecks().register("template", healthCheck); - - environment.jersey().register(new PackageResource()); - environment.jersey().register(new TemplateResource()); - // environment.jersey().register(new VNFHostImageResource()); - // environment.jersey().register(new VNFSoftwareVersionResource()); - - // register rest interface - environment.jersey().packages("org.openo.commontosca.catalog.resources"); - // upload file by inputstream need to register MultiPartFeature - environment.jersey().register(MultiPartFeature.class); - - initSwaggerConfig(environment, configuration); - initCometd(environment); - Config.setConfigration(configuration); - initService(); - LOGGER.info("Initialize catalogue finished."); - } - - /** - * initialize swagger configuration. - * - * @param environment environment information - * @param configuration catalogue configuration - */ - private void initSwaggerConfig(Environment environment, CatalogAppConfiguration configuration) { - environment.jersey().register(new ApiListingResource()); - environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); - - BeanConfig config = new BeanConfig(); - config.setTitle("Open-o Catalog Service rest API"); - config.setVersion("1.0.0"); - config.setResourcePackage("org.openo.commontosca.catalog.resources"); - // set rest api basepath in swagger - SimpleServerFactory simpleServerFactory = - (SimpleServerFactory) configuration.getServerFactory(); - String basePath = simpleServerFactory.getApplicationContextPath(); - String rootPath = simpleServerFactory.getJerseyRootPath(); - rootPath = rootPath.substring(0, rootPath.indexOf("/*")); - basePath = - basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath).append(rootPath) - .toString(); - config.setBasePath(basePath); - config.setScan(true); - } - - private void initService() { - Thread registerCatalogService = new Thread(new ServiceRegistrer()); - registerCatalogService.setName("register catalog service to Microservice Bus"); - registerCatalogService.start(); - } - - /** - * initialize cometd server. - * - * @param environment environment information - */ - private void initCometd(Environment environment) { - // add filter - environment.getApplicationContext().addFilter(CrossOriginFilter.class, - "/openoapi/catalog/v1/catalognotification/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR)); - // add servlet - environment.getApplicationContext() - .addServlet("org.cometd.server.CometDServlet", "/openoapi/catalog/v1/catalognotification/*") - .setInitOrder(1); - // add servlet - environment.getApplicationContext() - .addServlet("org.openo.commontosca.catalog.cometd.CometdServlet", "/openoapi/catalog/v1/catalognotification") - .setInitOrder(2); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogAppConfiguration.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogAppConfiguration.java deleted file mode 100644 index b3204873..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/CatalogAppConfiguration.java +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.dropwizard.Configuration; -import io.dropwizard.db.DataSourceFactory; -import org.hibernate.validator.constraints.NotEmpty; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; - - - - -public class CatalogAppConfiguration extends Configuration { - @NotEmpty - private String template; - - @NotEmpty - private String defaultName = "OPENO-Catalog"; - - @NotEmpty - private String msbServerAddr; - - @NotEmpty - private String httpServerAddr; - - @NotEmpty - private String parserType; - - @NotEmpty - private String cataloguePath; - @NotEmpty - private String httpServerPath; - - @Valid - private String serviceIp; - - @Valid - @NotNull - private DataSourceFactory database = new DataSourceFactory(); - - @JsonProperty("database") - public DataSourceFactory getDataSourceFactory() { - return database; - } - - @JsonProperty("database") - public void setDataSourceFactory(DataSourceFactory dataSourceFactory) { - this.database = dataSourceFactory; - } - - @JsonProperty - public String getTemplate() { - return template; - } - - @JsonProperty - public void setTemplate(String template) { - this.template = template; - } - - @JsonProperty - public String getDefaultName() { - return defaultName; - } - - @JsonProperty - public void setDefaultName(String name) { - this.defaultName = name; - } - - @JsonProperty - public String getMsbServerAddr() { - return msbServerAddr; - } - - @JsonProperty - public void setMsbServerAddr(String msbServerAddr) { - this.msbServerAddr = msbServerAddr; - } - - @JsonProperty - public String getHttpServerAddr() { - return httpServerAddr; - } - - @JsonProperty - public void setHttpServerAddr(String httpServerAddr) { - this.httpServerAddr = httpServerAddr; - } - - public String getParserType() { - return parserType; - } - - public void setParserType(String parserType) { - this.parserType = parserType; - } - - @JsonProperty - public String getCataloguePath() { - return cataloguePath; - } - - @JsonProperty - public void setCataloguePath(String cataloguePath) { - this.cataloguePath = cataloguePath; - } - - @JsonProperty - public String getHttpServerPath() { - return httpServerPath; - } - - @JsonProperty - public void setHttpServerPath(String httpServerPath) { - this.httpServerPath = httpServerPath; - } - - @JsonProperty - public String getServiceIp() { - return serviceIp; - } - - @JsonProperty - public void setServiceIp(String serviceIp) { - this.serviceIp = serviceIp; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdException.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdException.java deleted file mode 100644 index 7237a37b..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdException.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.cometd; - -public class CometdException extends Exception { - public static int ERROR_CODE_BAYEUX = 0; - public static int ERROR_CODE_PARAM_ERROR = 1; - public static int ERROR_CODE_SESSION_ERROR = 2; - public static int ERROR_CODE_SUBSCRIBE_TIMEOUT = 3; - private int errorCode = -1; - - public CometdException(Throwable e1) { - super(e1); - } - - public CometdException(int code, String message) { - super(message); - this.errorCode = code; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdService.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdService.java deleted file mode 100644 index a54b9abf..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdService.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.cometd; - -import org.cometd.bayeux.server.BayeuxServer; -import org.cometd.bayeux.server.ConfigurableServerChannel; -import org.cometd.bayeux.server.LocalSession; -import org.cometd.bayeux.server.ServerChannel; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; - -public class CometdService { - private static final Logger LOGGER = LoggerFactory.getLogger(CometdService.class); - public static String DATA_UPLOAD_CHANNEL = "/upload/data"; - public static String SNMPTRAP_CHANNEL = "/upload/snmptrap"; - - private BayeuxServer bayeux; - private LocalSession session; - - private static String bayeuxChannel = "/meta/"; - - private static String serviceChannel = "/service/"; - - private static CometdService service = new CometdService(); - - public static CometdService getInstance() { - return service; - } - - public void publish(String channel, Object message) throws CometdException { - if (bayeux == null) { - this.bayeux = CometdUtil.getBayeuxServer(); - checkBayeuxServer(); - this.session = this.bayeux.newLocalSession("openo_catalog_local_session~"); - this.session.handshake(); - } - String jsonMsg; - try { - // jsonMsg = CometdUtil.convertBean2Json(message); - jsonMsg = CometdUtil.toJson(message); - LOGGER.debug("upload json=" + jsonMsg); - } catch (IOException e) { - throw new CometdException(e); - } - - checkAndInit(channel); - ServerChannel serverChannel = this.bayeux.getChannel(channel); - serverChannel.publish(this.session, jsonMsg); - } - - private void checkAndInit(String channel) throws CometdException { - checkBayeuxServer(); - checkSession(); - checkChannel(channel); - bayeux.createChannelIfAbsent(channel, new ConfigurableServerChannel.Initializer() { - public void configureChannel(ConfigurableServerChannel channel) { - channel.setPersistent(true); - channel.setLazy(true); - } - }); - } - - private void checkBayeuxServer() throws CometdException { - if (bayeux == null) { - throw new CometdException(CometdException.ERROR_CODE_BAYEUX, "bayeux is null."); - } - } - - private void checkSession() throws CometdException { - if (session == null || !session.isConnected()) { - throw new CometdException(CometdException.ERROR_CODE_SESSION_ERROR, "session is invalid."); - } - } - - private void checkChannel(String channel) throws CometdException { - if (channel == null || "".equals(channel)) { - throw new CometdException(CometdException.ERROR_CODE_PARAM_ERROR, "channel is null."); - } - if (channel.startsWith(bayeuxChannel)) { - throw new CometdException(CometdException.ERROR_CODE_PARAM_ERROR, - "channel [" + channel + "] is bayeuxChannel."); - } - if (channel.startsWith(serviceChannel)) { - throw new CometdException(CometdException.ERROR_CODE_PARAM_ERROR, - "channel [" + channel + "] is serviceChannel."); - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdServlet.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdServlet.java deleted file mode 100644 index ace95455..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdServlet.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.cometd; - -import org.cometd.annotation.Listener; -import org.cometd.annotation.ServerAnnotationProcessor; -import org.cometd.annotation.Service; -import org.cometd.bayeux.Message; -import org.cometd.bayeux.server.BayeuxServer; -import org.cometd.bayeux.server.ServerChannel; -import org.cometd.bayeux.server.ServerMessage; -import org.cometd.bayeux.server.ServerSession; -import org.cometd.server.BayeuxServerImpl; -import org.cometd.server.authorizer.GrantAuthorizer; -import org.cometd.server.ext.AcknowledgedMessagesExtension; -import org.cometd.server.ext.TimesyncExtension; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import javax.servlet.GenericServlet; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.UnavailableException; -import javax.servlet.http.HttpServletResponse; - - -public class CometdServlet extends GenericServlet { - private static final long serialVersionUID = 8807005039926977330L; - - private static final Logger logger = LoggerFactory.getLogger(CometdServlet.class); - - @Override - public void init() throws ServletException { - super.init(); - - final BayeuxServerImpl bayeux = - (BayeuxServerImpl) getServletContext().getAttribute(BayeuxServer.ATTRIBUTE); - if (bayeux == null) { - throw new UnavailableException("No BayeuxServer!"); - } - // Create extensions - bayeux.addExtension(new TimesyncExtension()); - bayeux.addExtension(new AcknowledgedMessagesExtension()); - - // Allow anybody to handshake - bayeux.getChannel(ServerChannel.META_HANDSHAKE).addAuthorizer(GrantAuthorizer.GRANT_PUBLISH); - - ServerAnnotationProcessor processor = new ServerAnnotationProcessor(bayeux); - processor.process(new CatalogComet()); - - CometdUtil.setBayeuxServer(bayeux); - } - - @Service("catalog") - public static class CatalogComet { - @Listener("/meta/subscribe") - public void catalogSubscribe(ServerSession session, ServerMessage message) { - logger.info("Catalog Subscribe from " + session + " for " - + message.get(Message.SUBSCRIPTION_FIELD)); - } - - @Listener("/meta/unsubscribe") - public void catalogUnsubscribe(ServerSession session, ServerMessage message) { - logger.info("Catalog Unsubscribe from " + session + " for " - + message.get(Message.SUBSCRIPTION_FIELD)); - } - - @Listener("/meta/*") - public void catalogMeta(ServerSession session, ServerMessage message) { - logger.debug(message.toString()); - } - } - - @Override - public void service(ServletRequest servletRequest, ServletResponse servletResponse) - throws ServletException, IOException { - ((HttpServletResponse) servletResponse).sendError(503); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdUtil.java deleted file mode 100644 index efb2d35d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/cometd/CometdUtil.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.cometd; - -import java.io.IOException; -import java.util.Map; - -import org.cometd.server.BayeuxServerImpl; - -import com.google.gson.Gson; - -public class CometdUtil { - private static BayeuxServerImpl bayeuxServer = null; - - public static BayeuxServerImpl getBayeuxServer() { - return bayeuxServer; - } - - public static void setBayeuxServer(BayeuxServerImpl bayeux) { - bayeuxServer = bayeux; - } - -// public static String convertBean2Json(Object object) throws IOException { -// ObjectMapper mapper = new ObjectMapper(); -// return mapper.writeValueAsString(object); -// } -// -// public static Map convertJson2Map(String jsonStr) throws IOException { -// ObjectMapper objectMapper = new ObjectMapper(); -// return objectMapper.readValue(jsonStr, Map.class); -// } - public static T fromJson(String jsonString, Class templateClass) throws IOException { - Gson gson = new Gson(); - return gson.fromJson(jsonString, templateClass); - } - - /** - * gson to json. - * @param template class name - * @return String - */ - public static String toJson(T template) throws IOException { - Gson gson = new Gson(); - return gson.toJson(template); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonConstant.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonConstant.java deleted file mode 100644 index 8250c94f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonConstant.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -public class CommonConstant { - // Package Status - public static final String PACKAGE_STATUS_DELETING = "deleting"; - - public static final String PACKAGE_STATUS_DELETE_FAIL = "deleteFailed"; - - public static final String PACKAGE_XML_FORMAT = "xml"; - - - public static final String PACKAGE_YAML_FORMAT = "yaml"; - - // host image progress - - public static final String TOSCA_METADATA = "TOSCA-Metadata"; - - public static final String CSAR_VERSION_META = "version"; - - public static final String CSAR_TYPE_META = "type"; - - public static final String CSAR_PROVIDER_META = "provider"; - - public static final String DEFINITIONS = "Definitions"; - - public static final String CSAR_META = "csar.meta"; - - public static final String CSAR_SUFFIX = ".csar"; - - public static final String HTTP_HEADER_CONTENT_RANGE = "Content-Range"; - - public static final String CATALOG_CSAR_DIR_NAME = "/csar"; - - public static final String COMETD_CHANNEL_PACKAGE_DELETE = "/package/delete"; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonErrorResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonErrorResponse.java deleted file mode 100644 index 31709064..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/CommonErrorResponse.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CommonErrorResponse { - - private String code; - - private String message; - - - public static Object failure(String message) { - return message; - } - - public CommonErrorResponse(String message) { - super(); - this.message = message; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/Config.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/Config.java deleted file mode 100644 index 0b9c4074..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/Config.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import org.openo.commontosca.catalog.CatalogAppConfiguration; - - -public class Config { - private static CatalogAppConfiguration configration; - - public static CatalogAppConfiguration getConfigration() { - return configration; - } - - public static void setConfigration(CatalogAppConfiguration config) { - configration = config; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/DateTimeUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/DateTimeUtil.java deleted file mode 100644 index d41993fc..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/DateTimeUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import java.text.SimpleDateFormat; -import java.util.Date; - -public class DateTimeUtil { - public static String getCurrentTime() { - return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()); - } - - public static String getFormatTime(Date date) { - return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date); - } - - public static String getFormatTime(Date date, String format) { - return new SimpleDateFormat(format).format(date); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/EnumUploadStatus.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/EnumUploadStatus.java deleted file mode 100644 index 1aa6d478..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/EnumUploadStatus.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -public enum EnumUploadStatus { - Create_Directory_Success, Create_Directory_Fail, File_Exist, - Upload_From_Break_Success, Upload_From_Break_Failed, Upload_New_File_Success, - Upload_New_File_Failed -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FileUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FileUtil.java deleted file mode 100644 index ae17de61..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FileUtil.java +++ /dev/null @@ -1,185 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - - -public final class FileUtil { - - public static final Logger LOG = LoggerFactory.getLogger(FileUtil.class); - - private static final int BUFFER_SIZE = 2 * 1024 * 1024; - - private static final int TRY_COUNT = 3; - - private FileUtil() { - - } - - - /** - * create dir. - * @param dir dir to create - * @return boolean - */ - public static boolean createDirectory(String dir) { - File folder = new File(dir); - int tryCount = 0; - while (tryCount < TRY_COUNT) { - tryCount++; - if (!folder.exists() && !folder.mkdirs()) { - continue; - } else { - return true; - } - } - - return folder.exists(); - } - - /** - * delete file. - * @param file the file to delete - * @return boolean - */ - public static boolean deleteFile(File file) { - String hintInfo = file.isDirectory() ? "dir " : "file "; - boolean isFileDeleted = file.delete(); - boolean isFileExist = file.exists(); - if (!isFileExist) { - if (isFileDeleted) { - LOG.info("delete " + hintInfo + file.getAbsolutePath()); - } else { - isFileDeleted = true; - LOG.info("file not exist. no need delete " + hintInfo + file.getAbsolutePath()); - } - } else { - LOG.info("fail to delete " + hintInfo + file.getAbsolutePath()); - } - return isFileDeleted; - } - - - /** - * unzip zip file. - * @param zipFileName file name to zip - * @param extPlace extPlace - * @return unzip file name - * @throws IOException e1 - */ - public static ArrayList unzip(String zipFileName, String extPlace) throws IOException { - ZipFile zipFile = null; - ArrayList unzipFileNams = new ArrayList(); - - try { - zipFile = new ZipFile(zipFileName); - Enumeration fileEn = zipFile.entries(); - byte[] buffer = new byte[BUFFER_SIZE]; - - while (fileEn.hasMoreElements()) { - InputStream input = null; - BufferedOutputStream bos = null; - try { - ZipEntry entry = (ZipEntry) fileEn.nextElement(); - if (entry.isDirectory()) { - continue; - } - - input = zipFile.getInputStream(entry); - File file = new File(extPlace, entry.getName()); - if (!file.getParentFile().exists()) { - createDirectory(file.getParentFile().getAbsolutePath()); - } - - bos = new BufferedOutputStream(new FileOutputStream(file)); - while (true) { - int length = input.read(buffer); - if (length == -1) { - break; - } - bos.write(buffer, 0, length); - } - unzipFileNams.add(file.getAbsolutePath()); - } finally { - closeOutputStream(bos); - closeInputStream(input); - } - } - } finally { - closeZipFile(zipFile); - } - return unzipFileNams; - } - - /** - * close InputStream. - * - * @param inputStream the inputstream to close - */ - private static void closeInputStream(InputStream inputStream) { - try { - if (inputStream != null) { - inputStream.close(); - } - } catch (Exception e1) { - LOG.info("close InputStream error!"); - } - } - - /** - * close OutputStream. - * - * @param outputStream the output stream to close - */ - private static void closeOutputStream(OutputStream outputStream) { - try { - if (outputStream != null) { - outputStream.close(); - } - } catch (Exception e1) { - LOG.info("close OutputStream error!"); - } - } - - /** - * close zipFile. - * - * @param zipFile the zipFile to close - */ - private static void closeZipFile(ZipFile zipFile) { - try { - if (zipFile != null) { - zipFile.close(); - zipFile = null; - } - } catch (IOException e1) { - LOG.info("close ZipFile error!"); - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FtpClient.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FtpClient.java deleted file mode 100644 index 62a68df8..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/FtpClient.java +++ /dev/null @@ -1,211 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import org.apache.commons.net.ftp.FTP; -import org.apache.commons.net.ftp.FTPClient; -import org.apache.commons.net.ftp.FTPFile; -import org.apache.commons.net.ftp.FTPReply; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - - - -/** - * FTP client user for upload or delete files in ftp client. - */ -public class FtpClient { - private FTPClient ftpClient; - - public static final String ZIP = ".zip"; - - public FtpClient(String host, String username, String password, int port) throws Exception { - ftpClient = new FTPClient(); - connect(host, username, password, port); - } - - private void connect(String host, String user, String pwd, int port) throws Exception { - ftpClient.connect(host, port); - if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { - ftpClient.disconnect(); - throw new Exception("Exception in connecting to FTP Server"); - } - ftpClient.login(user, pwd); - ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - ftpClient.enterLocalPassiveMode(); - } - - /** - * disconnect to ftp. - * @throws Exception e - */ - public void disconnect() throws Exception { - if (this.ftpClient.isConnected()) { - this.ftpClient.logout(); - this.ftpClient.disconnect(); - } - } - - /** - * get remote file. - * @param remoteFilePath remote file path - * @param localFilePath local file path - * @throws IOException e - */ - public void get(String remoteFilePath, String localFilePath) throws IOException { - FileOutputStream fos = new FileOutputStream(localFilePath); - this.ftpClient.retrieveFile(remoteFilePath, fos); - fos.close(); - } - - public void delete(String filePath) throws IOException { - ftpClient.dele(filePath); - } - - - /** - * upload a file to FTP client. support resuming. - * @param startPosition start position to upload - * @param endPosition end position of upload - * @param inputstream upload inputstream - * @param remote remote path - * @return enum - * @throws IOException e - */ - public EnumUploadStatus upload(int startPosition, int endPosition, InputStream inputstream, - String remote) throws IOException { - // set transfer mode: PassiveMode - ftpClient.enterLocalPassiveMode(); - // set transfer file type: binary - ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - ftpClient.setControlEncoding("GBK"); - String remoteFileName = remote; - if (remote.contains("/")) { - remoteFileName = remote.substring(remote.lastIndexOf("/") + 1); - if (createDirecroty(remote, ftpClient) == EnumUploadStatus.Create_Directory_Fail) { - return EnumUploadStatus.Create_Directory_Fail; - } - } - - long lstartPos = 0; - FTPFile[] files = ftpClient.listFiles(new String(remoteFileName.getBytes("GBK"), "iso-8859-1")); - if (files.length == 1) { - lstartPos = files[0].getSize(); - } - if (lstartPos > endPosition) { - return EnumUploadStatus.File_Exist; - } - if (lstartPos < startPosition) { - lstartPos = startPosition; - } else if (lstartPos > startPosition && lstartPos < endPosition) { - lstartPos = startPosition; - } - - return uploadFile(remoteFileName, inputstream, ftpClient, lstartPos); - } - - /** - * Create a remote server directory recursively. - * - * @param remote remote directory - * @param ftpClient ftpclient - * @return enum - * @throws IOException e - */ - public EnumUploadStatus createDirecroty(String remote, FTPClient ftpClient) throws IOException { - String directory = remote.substring(0, remote.lastIndexOf("/") + 1); - if (!directory.equalsIgnoreCase("/") - && !ftpClient.changeWorkingDirectory(new String(directory.getBytes("GBK"), "iso-8859-1"))) { - int start = 0; - int end = 0; - if (directory.startsWith("/")) { - start = 1; - } else { - start = 0; - } - end = directory.indexOf("/", start); - while (true) { - String subDirectory = - new String(remote.substring(start, end).getBytes("GBK"), "iso-8859-1"); - if (!ftpClient.changeWorkingDirectory(subDirectory)) { - if (ftpClient.makeDirectory(subDirectory)) { - ftpClient.changeWorkingDirectory(subDirectory); - } else { - return EnumUploadStatus.Create_Directory_Fail; - } - } - - start = end + 1; - end = directory.indexOf("/", start); - - // check whether all directories are created or not - if (end <= start) { - break; - } - } - } - return EnumUploadStatus.Create_Directory_Success; - } - - /** - * upload file to client. - * - * @param remoteFile remote file name - * @param localFile local file name including absolute path - * @param ftpClient FTPClient class - * @param lStartPos starting position - * @return enum - * @throws IOException e - */ - /** - * upload file to client. - * @param remoteFile remote file name - * @param inputstream inputstream to upload file - * @param ftpClient ftp client - * @param lstartPos start position - * @return enum - * @throws IOException e - */ - public EnumUploadStatus uploadFile(String remoteFile, InputStream inputstream, - FTPClient ftpClient, long lstartPos) throws IOException { - OutputStream out = - ftpClient.appendFileStream(new String(remoteFile.getBytes("GBK"), "iso-8859-1")); - if (out == null) { - out = ftpClient.storeFileStream(new String(remoteFile.getBytes("GBK"), "iso-8859-1")); - } - if (lstartPos > 0) { - ftpClient.setRestartOffset(lstartPos); - } - byte[] bytes = new byte[512]; - int count; - while ((count = inputstream.read(bytes, 0, 512)) > 0) { - out.write(bytes, 0, count); - } - out.flush(); - out.close(); - boolean result = ftpClient.completePendingCommand(); - if (lstartPos > 0) { - return result ? EnumUploadStatus.Upload_From_Break_Success - : EnumUploadStatus.Upload_From_Break_Failed; - } else { - return result ? EnumUploadStatus.Upload_New_File_Success - : EnumUploadStatus.Upload_New_File_Failed; - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerAddrConfig.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerAddrConfig.java deleted file mode 100644 index 07d26458..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerAddrConfig.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - - -public class HttpServerAddrConfig { - - protected static String httpServerAddress; - - public static String getHttpServerAddress() { - return httpServerAddress; - } - - public static void setHttpServerAddress(String httpServerAddress) { - HttpServerAddrConfig.httpServerAddress = httpServerAddress; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerPathConfig.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerPathConfig.java deleted file mode 100644 index cef93583..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/HttpServerPathConfig.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - - -public class HttpServerPathConfig { - protected static String httpServerPath; - - public static String getHttpServerPath() { - return httpServerPath; - } - - public static void setHttpServerPath(String httpServerPath) { - HttpServerPathConfig.httpServerPath = httpServerPath; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbAddrConfig.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbAddrConfig.java deleted file mode 100644 index 4f27a0f3..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbAddrConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -public class MsbAddrConfig { - - protected static String msbAddress; - - public static String getMsbAddress() { - return msbAddress; - } - - public static void setMsbAddress(String msbAddress) { - MsbAddrConfig.msbAddress = msbAddress; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbUtil.java deleted file mode 100644 index a241c112..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/MsbUtil.java +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -/** - * micro-service bus utility class. - * - */ -public class MsbUtil { - - public static String getRocBaseUrl() { - return Config.getConfigration().getMsbServerAddr() + getRocApiRootDomain(); - } - - private static String getRocApiRootDomain() { - return "/api/roc/v1"; - } - - public static String getNsocLifecycleBaseUrl() { - return Config.getConfigration().getMsbServerAddr() + getNsocLifeCycleRootDomain(); - } - - private static String getNsocLifeCycleRootDomain() { - return "/api/nsoc/v1"; - } - - public static String getVimBaseUrl() { - return Config.getConfigration().getMsbServerAddr() + getVimRootDomain(); - } - - private static String getVimRootDomain() { - return "/api/vim/v1"; - } - - public static String getPackageUrl() { - return Config.getConfigration().getMsbServerAddr() + "/api/nsoc/v1/csar/"; - } - - public static String getYamlParseBaseUrl() { - return Config.getConfigration().getMsbServerAddr() + "/openoapi/yamlparser/v1"; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/RestUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/RestUtil.java deleted file mode 100644 index 049aac26..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/RestUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import javax.ws.rs.core.Response; - - -public class RestUtil { - - /** - * get rest exception. - * @param errorMsg error message - * @return Response - */ - public static Response getRestException(String errorMsg) { - String code = "001"; - return Response.status(Response.Status.INTERNAL_SERVER_ERROR) - .entity(new CommonErrorResponse(code, errorMsg)).build(); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ServiceRegistrer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ServiceRegistrer.java deleted file mode 100644 index 1e2be58a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ServiceRegistrer.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.externalservice.msb.MicroserviceBusConsumer; -import org.openo.commontosca.catalog.externalservice.msb.ServiceRegisterEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Iterator; - -public class ServiceRegistrer implements Runnable { - private final ArrayList serviceEntityList = - new ArrayList(); - private static final Logger LOG = LoggerFactory.getLogger(ServiceRegistrer.class); - - public ServiceRegistrer() { - initServiceEntity(); - } - - @Override - public void run() { - LOG.info("start microservice register"); - boolean flag = false; - ServiceRegisterEntity entity = new ServiceRegisterEntity(); - int retry = 0; - while (retry < 1000 && serviceEntityList.size() > 0) { - Iterator it = serviceEntityList.iterator(); - while (it.hasNext()) { - entity = it.next(); - LOG.info("start" + entity.getServiceName() + " catalog microservice register.retry:" - + retry); - flag = MicroserviceBusConsumer.registerService(entity); - if (flag == false) { - LOG.warn(entity.getServiceName() - + " microservice register failed, sleep 30S and try again."); - threadSleep(30000); - } else { - LOG.info(entity.getServiceName() + " microservice register success!"); - it.remove(); - } - } - retry++; - - } - LOG.info("catalog microservice register end."); - - } - - /** - * sleep thread. - * @param second sleep second - */ - private void threadSleep(int seconds) { - LOG.info("start sleep ...."); - try { - Thread.sleep(seconds); - } catch (InterruptedException e1) { - LOG.error("thread sleep error.errorMsg:" + e1.getMessage()); - } - LOG.info("sleep end ."); - } - - private void initServiceEntity() { - ServiceRegisterEntity catalogEntity = new ServiceRegisterEntity(); - catalogEntity.setServiceName("catalog"); - catalogEntity.setProtocol("REST"); - catalogEntity.setVersion("v1"); - catalogEntity.setUrl("/openoapi/catalog/v1"); - catalogEntity.setSingleNode(Config.getConfigration().getServiceIp(), "8200", 0); - catalogEntity.setVisualRange("1"); - serviceEntityList.add(catalogEntity); - ServiceRegisterEntity httpServiceEntity = new ServiceRegisterEntity(); - httpServiceEntity.setServiceName("/files/catalog-http"); - httpServiceEntity.setProtocol("REST"); - httpServiceEntity.setVersion("v1"); - httpServiceEntity.setUrl("/"); - httpServiceEntity.setSingleNode(Config.getConfigration().getServiceIp(), "8201", 0); - httpServiceEntity.setVisualRange("1"); - serviceEntityList.add(httpServiceEntity); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ToolUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ToolUtil.java deleted file mode 100644 index 576cade3..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ToolUtil.java +++ /dev/null @@ -1,403 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import com.google.gson.Gson; -import com.google.gson.JsonElement; - -import org.openo.commontosca.catalog.model.common.EnumToscaNodeTypeDefinition; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Collection; -import java.util.UUID; - - - -/** - * common utility class. - * - */ -public class ToolUtil { - private static final Logger LOG = LoggerFactory.getLogger(ToolUtil.class); - - public static final String CATALOGUE_CSAR_DIR_NAME = "csar"; - - public static final String CATALOGUE_IMAGE_DIR_NAME = "image"; - - public static final int FILE_PERCENT = 1024 * 1024; // 1M - - public static boolean isEmptyString(String val) { - return val == null || "".equals(val); - } - - public static boolean isTrimedEmptyString(String val) { - return val == null || "".equals(val.trim()); - } - - public static boolean isTrimedEmptyArray(String[] val) { - return val == null || val.length == 0; - } - - /** - * trimed string. - * - * @param val string array to trim - * @return String[] - */ - public static String[] trimedStringArray(String[] val) { - if (isTrimedEmptyArray(val)) { - return val; - } - - String[] rets = new String[val.length]; - for (int i = 0; i < val.length; i++) { - rets[i] = val[i].trim(); - } - return rets; - } - - public static boolean isEmptyCollection(Collection coll) { - return null == coll || coll.isEmpty(); - } - - /** - * store chunk file to local temp directory. - * - * @param dirName directory name - * @param fileName file name - * @param uploadedInputStream upload input stream - * @return String - * @throws IOException e - */ - public static String storeChunkFileInLocal(String dirName, String fileName, - InputStream uploadedInputStream) throws IOException { - File tmpDir = new File(dirName); - LOG.info("tmpdir = " + File.separator + dirName); - if (!tmpDir.exists()) { - tmpDir.mkdirs(); - } - File file = new File(tmpDir + File.separator + fileName); - OutputStream os = null; - try { - int read = 0; - byte[] bytes = new byte[1024]; - os = new FileOutputStream(file, true); - while ((read = uploadedInputStream.read(bytes)) != -1) { - os.write(bytes, 0, read); - } - os.flush(); - return file.getAbsolutePath(); - } finally { - if (os != null) { - os.close(); - } - } - } - - /** - * get temp dirctory when upload package. - * - * @param dirName temp directory name - * @param fileName package name - * @return String - */ - public static String getTempDir(String dirName, String fileName) { - // File tmpDir = new File(File.separator + dirName); - return Class.class.getClass().getResource("/").getPath() + dirName + File.separator - + fileName.replace(".csar", ""); - } - - public static String getUnzipDir(String dirName) { - File tmpDir = new File(File.separator + dirName); - return tmpDir.getAbsolutePath().replace(".csar", ""); - } - - /** - * delete file. - * - * @param dirName the directory of file - * @param fileName file name - * @return boolean - */ - public static boolean deleteFile(String dirName, String fileName) { - File tmpDir = new File(getCataloguePath() + File.separator + dirName); - if (!tmpDir.exists()) { - return true; - } - File file = new File(tmpDir.getAbsolutePath() + File.separator + fileName); - if (file.exists()) { - return file.delete(); - } - return true; - } - - public static String getCataloguePath() { - return Config.getConfigration().getCataloguePath(); - } - - public static String getCatalogueCsarPath() { - return getCataloguePath() + File.separator + CATALOGUE_CSAR_DIR_NAME; - } - - public static String getCatalogueImagePath() { - return getCataloguePath() + File.separator + CATALOGUE_IMAGE_DIR_NAME; - } - - /** - * get file size. - * - * @param file file which to get the size - * @param fileUnit file unit - * @return String file size - */ - public static String getFileSize(File file, int fileUnit) { - String fileSize = ""; - DecimalFormat format = new DecimalFormat("#0.00"); - if (file.exists()) { - fileSize = format.format((double) file.length() / fileUnit) + "M"; - } - return fileSize; - } - - public static String formatFileSize(double fileLength, int fileUnit) { - DecimalFormat format = new DecimalFormat("#0.00"); - return format.format(fileLength / fileUnit) + "M"; - } - - /** - * get file size by content. - * - * @param contentRange content range - * @return String - */ - public static String getFileSizeByContent(String contentRange) { - String size = - contentRange.substring(contentRange.indexOf("/") + 1, contentRange.length()).trim(); - return formatFileSize(Double.parseDouble(size), FILE_PERCENT); - } - - /** - * fix package format. - * - * @param csarId package ID - * @return String - */ - public static String formatCsar(String csarId) { - String result = csarId; - if (csarId.indexOf(".csar") < 0) { - result += ".csar"; - } - return result; - } - - /** - * judge the package format is xml or not. - * - * @param fileLocation package location - * @param unzipDir the directory where the package unzip to - * @return boolean - * @throws IOException e - */ - public static boolean isXmlCsar(String fileLocation, String unzipDir) throws IOException { - String tempfolder = unzipDir; - ArrayList unzipFiles = FileUtil.unzip(fileLocation, tempfolder); - if (unzipFiles.isEmpty()) { - return true; - } - for (String unzipFile : unzipFiles) { - if (isYamlFile(new File(unzipFile))) { - return false; - } - } - return true; - } - - - /** - * delete the file and file directory. - * - * @param dir file - * @return boolean - */ - public static boolean deleteDir(File dir) { - if (dir.isDirectory()) { - String[] children = dir.list(); - for (int i = 0; i < children.length; i++) { - boolean success = deleteDir(new File(dir, children[i])); - if (!success) { - return false; - } - } - } - return dir.delete(); - } - - // public static boolean unZipCsar(String fileLocation) throws IOException { - // String tempfolder=System.getProperty("java.io.tmpdir"); - // ArrayList unzipFiles = FileUtil.unzip(fileLocation, tempfolder); - // if(unzipFiles.isEmpty()){ - // return true; - // } - // } - - /** - * judge the file's format is yaml or not. - * - * @param file file to judge - * @return boolean - */ - public static boolean isYamlFile(File file) { - if (!file.isDirectory() && file.getName().indexOf(".yaml") != -1) { - return true; - } - return false; - } - - /** - * remove the csar suffix. - * - * @param csarName package name - * @return String - */ - public static String removeCsarSuffix(String csarName) { - return csarName.replaceAll(".csar", ""); - } - - /** - * add the csar fuffix. - * - * @param csarName package name - * @return String - */ - public static String addCsarSuffix(String csarName) { - if (csarName.indexOf(".csar") == -1) { - return csarName + ".csar"; - } - return csarName; - } - - /** - * judge whether the type is vnf node type. - * - * @param type type - * @return boolean - */ - public static boolean isVnfNodetype(String type) { - if (type.toLowerCase().contains(EnumToscaNodeTypeDefinition.VNFC.getName().toLowerCase())) { - return false; - } - return type.toLowerCase().contains(EnumToscaNodeTypeDefinition.VNF.getName().toLowerCase()); - } - - /** - * process file name. - * - * @param fileName file's name - * @return String - */ - public static String processFileName(String fileName) { - int index = fileName.indexOf(".zip"); - if (index == -1) { - return fileName; - } - - return addCsarSuffix(fileName.replaceAll(".zip", "")); - } - - /** - * exchange object to string. - * - * @param obj object - * @return String - */ - public static String objectToString(Object obj) { - if (obj == null) { - return ""; - } - Gson gson = new Gson(); - String str = gson.toJson(obj); - return str; - } - - public static String generateId() { - return UUID.randomUUID().toString(); - } - - /** - * get the size format according file size. - * - * @param fileSize file size - * @return size format - */ - public static String getFormatFileSize(long fileSize) { - long kb = 1024; - long mb = kb * 1024; - long gb = mb * 1024; - - if (fileSize >= gb) { - return String.format("%.1f GB", (float) fileSize / gb); - } else if (fileSize >= mb) { - float fi = (float) fileSize / mb; - return String.format(fi > 100 ? "%.0f MB" : "%.1f MB", fi); - } else if (fileSize >= kb) { - float fi = (float) fileSize / kb; - return String.format(fi > 100 ? "%.0f KB" : "%.1f KB", fi); - } else { - return String.format("%d B", fileSize); - } - } - - /** - * get gson from json. - * @param jsonString json string - * @param templateClass template class - * @return Template - */ - public static T fromJson(String jsonString, Class templateClass) { - Gson gson = new Gson(); - return gson.fromJson(jsonString, templateClass); - } - - /** - * gson to json. - * @param template class name - * @return String - */ - public static String toJson(T template) { - Gson gson = new Gson(); - return gson.toJson(template); - } - - /** - * @param value - * @return - */ - public static String getAsString(JsonElement value) { - if (value.isJsonPrimitive()) { - return value.getAsString(); - } - - return value.toString(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ZipCompressor.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ZipCompressor.java deleted file mode 100644 index 08925f9c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/common/ZipCompressor.java +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.common; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.zip.CRC32; -import java.util.zip.CheckedOutputStream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - - -public class ZipCompressor { - - public static final Logger LOG = LoggerFactory.getLogger(ZipCompressor.class); - static final int BUFFER = 8192; - - private File zipFile; - - public ZipCompressor(String pathName) { - zipFile = new File(pathName); - } - - /** - * compress file according several path. - * @param pathName file path name - */ - public void compress(String... pathName) { - ZipOutputStream out = null; - try { - FileOutputStream fileOutputStream = new FileOutputStream(zipFile); - CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, new CRC32()); - out = new ZipOutputStream(cos); - String basedir = ""; - for (int i = 0; i < pathName.length; i++) { - compress(new File(pathName[i]), out, basedir); - } - out.close(); - } catch (Exception e1) { - throw new RuntimeException(e1); - } - } - - /** - * compress file according file path. - * @param srcPathName file path name - */ - public void compress(String srcPathName) { - File file = new File(srcPathName); - if (!file.exists()) { - throw new RuntimeException(srcPathName + "not exist!"); - } - try { - FileOutputStream fileOutputStream = new FileOutputStream(zipFile); - CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, new CRC32()); - ZipOutputStream out = new ZipOutputStream(cos); - String basedir = ""; - compress(file, out, basedir); - out.close(); - } catch (Exception e1) { - throw new RuntimeException(e1); - } - } - - private void compress(File file, ZipOutputStream out, String basedir) { - if (file.isDirectory()) { - System.out.println("compress: " + basedir + file.getName()); - this.compressDirectory(file, out, basedir); - } else { - System.out.println("compress: " + basedir + file.getName()); - this.compressFile(file, out, basedir); - } - } - - private void compressDirectory(File dir, ZipOutputStream out, String basedir) { - if (!dir.exists()) { - return; - } - - File[] files = dir.listFiles(); - for (int i = 0; i < files.length; i++) { - compress(files[i], out, basedir + dir.getName() + "/"); - } - } - - private void compressFile(File file, ZipOutputStream out, String basedir) { - if (!file.exists()) { - return; - } - try { - byte data[] = new byte[BUFFER]; - BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); - ZipEntry entry = new ZipEntry(basedir + file.getName()); - out.putNextEntry(entry); - int count; - while ((count = bis.read(data, 0, BUFFER)) != -1) { - out.write(data, 0, count); - } - bis.close(); - } catch (Exception e1) { - throw new RuntimeException(e1); - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/CatalogResuorceType.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/CatalogResuorceType.java deleted file mode 100644 index e610d562..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/CatalogResuorceType.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.common; - - -public enum CatalogResuorceType { - SERVICETEMPLATE, PACKAGE, NODETEMPLATE, TEMPLATE, SERVICETEMPLATEMAPPING; - - public static CatalogResuorceType getType(String type) { - return valueOf(type); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/Parameters.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/Parameters.java deleted file mode 100644 index 2211a748..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/common/Parameters.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.common; - -public enum Parameters { - oid, name, provider, version, deletionPending, - type, status, csarId, vendor, serviceTemplateId, - nodeTemplateId, mappingId, nodeType; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/BaseDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/BaseDao.java deleted file mode 100644 index fab22d6a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/BaseDao.java +++ /dev/null @@ -1,218 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import io.dropwizard.hibernate.AbstractDAO; -import io.dropwizard.util.Generics; - -import org.hibernate.Criteria; -import org.hibernate.HibernateException; -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.hibernate.criterion.Restrictions; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.HqlFactory; - -import java.util.List; -import java.util.Map; - - -/** - * a base class for Hibernate DAO classes. provide the common methods to create,delete,update and - * query data. - * - */ -public class BaseDao extends AbstractDAO { - - /** - * base dao constructor. - * - * @param sessionFactory session factory - */ - public BaseDao(SessionFactory sessionFactory) { - super(sessionFactory); - this.sessionFactory = sessionFactory; - this.entityClass = Generics.getTypeParameter(getClass()); - } - - public String[] excludeProperties; - private SessionFactory sessionFactory; - protected Session session; - private final Class entityClass; - - @Override - protected Session currentSession() { - return this.session; - } - - /** - * update data. - * - * @param data the object to update - * @throws CatalogResourceException e1 - */ - public void update(T data, String filter) throws CatalogResourceException { - try { - String hql = HqlFactory.getUpdateHql(data, excludeProperties, filter); - beginTransaction(); - Query query = this.session.createQuery(hql); - query.executeUpdate(); - closeTransaction(); - } catch (Exception e1) { - transactionRollBack(); - throw new CatalogResourceException("error while updating data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - } - - /** - * delete data. - * - * @param data the object to delete - * @throws CatalogResourceException e1 - */ - public void delete(T data) throws CatalogResourceException { - try { - beginTransaction(); - this.session.delete(data); - closeTransaction(); - } catch (Exception e1) { - transactionRollBack(); - throw new CatalogResourceException("error while deleting data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - } - - /** - * create data. - * - * @param data the object to create - * @return data - * @throws CatalogResourceException e1 - */ - public T create(T data) throws CatalogResourceException { - try { - beginTransaction(); - session.save(data); - closeTransaction(); - } catch (HibernateException e1) { - transactionRollBack(); - throw new CatalogResourceException("error while creating data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - return data; - } - - /** - * union query. - * - * @param unionHql union hql - * @return list - * @throws CatalogResourceException e1 - */ - public List unionQuery(String unionHql) throws CatalogResourceException { - List data; - try { - beginTransaction(); - Query query = this.session.createQuery(unionHql); - data = query.list(); - closeTransaction(); - } catch (Exception e1) { - transactionRollBack(); - throw new CatalogResourceException("error while union query data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - return data; - } - - /** - * union delete. - * - * @param unionHql union hql - * @return int - * @throws CatalogResourceException e1 - */ - public int unionDelete(String unionHql) throws CatalogResourceException { - int num = 0; - try { - beginTransaction(); - Query query = this.session.createQuery(unionHql); - num = query.executeUpdate(); - closeTransaction(); - } catch (Exception e1) { - transactionRollBack(); - throw new CatalogResourceException("error while union query data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - return num; - } - - /** - * query data. - * - * @param queryParams the condition map used to query objects - * @return data list - * @throws CatalogResourceException e1 - */ - @SuppressWarnings("unchecked") - public List query(Map queryParams) throws CatalogResourceException { - List result = null; - try { - beginTransaction(); - Criteria criteria = this.session.createCriteria(entityClass); - for (String key : queryParams.keySet()) { - criteria.add(Restrictions.eq(key, queryParams.get(key))); - } - result = (List) criteria.list(); - closeTransaction(); - } catch (HibernateException e1) { - throw new CatalogResourceException("error while querying data.errorMsg:" + e1.getMessage(), - e1); - } finally { - closeSession(); - } - return result; - } - - protected void beginTransaction() { - this.session = this.sessionFactory.openSession(); - this.session.beginTransaction(); - } - - protected void closeTransaction() { - this.session.getTransaction().commit(); - } - - protected void closeSession() { - this.session.close(); - } - - protected void transactionRollBack() { - this.session.getTransaction().rollback(); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/DaoManager.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/DaoManager.java deleted file mode 100644 index cdd1f666..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/DaoManager.java +++ /dev/null @@ -1,162 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.SessionFactory; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; - -/** - * DAO manager class. - * a class to store DAO instances and provide methods to get these instances. - * - */ -public class DaoManager { - private static DaoManager instance = new DaoManager(); - - private ServiceTemplateDao serviceTemplateDao; - private PackageDao packageDao; - private NodeTemplateDao nodeTemplateDao; - private TemplateDao templateDao; - private ServiceTemplateMappingDao templateMappingDao; - private SessionFactory sessionFactory; - - private DaoManager() {} - - public static synchronized DaoManager getInstance() { - return instance; - } - - /** - * get dao. - * @param type data type - * @return BaseDao - */ - public BaseDao getDao(String type) throws CatalogResourceException{ - if (sessionFactory == null) { - throw new CatalogResourceException("errorMsg:database connect init faild!"); - } - switch (CatalogResuorceType.getType(type)) { - case SERVICETEMPLATE: - return getServiceTemplateDao(); - case PACKAGE: - return getPackageDao(); - case NODETEMPLATE: - return getNodeTemplateDao(); - case TEMPLATE: - return getTemplateDao(); - case SERVICETEMPLATEMAPPING: - return getTemplateMappingDao(); - default: - return null; - } - } - - public void setSessionFactory(SessionFactory sessionFactory) { - this.sessionFactory = sessionFactory; - } - - public SessionFactory getSessionFactory() { - return sessionFactory; - } - - /** - * get service template dao. - * @return ServiceTemplateDao - */ - public ServiceTemplateDao getServiceTemplateDao() { - //if (serviceTemplateDao == null) { - serviceTemplateDao = new ServiceTemplateDao(sessionFactory); - // } - return serviceTemplateDao; - } - - public void setServiceTemplateDao(ServiceTemplateDao serviceTemplateDao) { - this.serviceTemplateDao = serviceTemplateDao; - } - - /** - * get package dao. - * @return PackageDao - */ - public PackageDao getPackageDao() { - // if (packageDao == null) { - packageDao = new PackageDao(sessionFactory); - // } - return packageDao; - } - - public void setPackageDao(PackageDao packageDao) { - this.packageDao = packageDao; - } - - /** - * get node templage dao. - * @return NodeTemplateDao - */ - public NodeTemplateDao getNodeTemplateDao() { - // if (nodeTemplateDao == null) { - nodeTemplateDao = new NodeTemplateDao(sessionFactory); - // } - return nodeTemplateDao; - } - - public void setTemplateDao(TemplateDao templateDao) { - this.templateDao = templateDao; - } - - /** - * get template dao. - * @return TemplateDao - */ - public TemplateDao getTemplateDao() { - // if (templateDao == null) { - templateDao = new TemplateDao(sessionFactory); - // } - return templateDao; - } - - public void setNodeTemplateDao(NodeTemplateDao nodeTemplateDao) { - this.nodeTemplateDao = nodeTemplateDao; - } - - /** - * get template mapping dao. - * @return ServiceTemplateMappingDao - */ - public ServiceTemplateMappingDao getTemplateMappingDao() { - //if (templateMappingDao == null) { - templateMappingDao = new ServiceTemplateMappingDao(sessionFactory); - // } - return templateMappingDao; - } - - public void setTemplateMappingDao(ServiceTemplateMappingDao templateMappingDao) { - this.templateMappingDao = templateMappingDao; - } - - /** - * set dao null. - */ - public void setDaoNull() { - this.nodeTemplateDao = null; - this.templateDao = null; - this.serviceTemplateDao = null; - this.packageDao = null; - this.templateMappingDao = null; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/NodeTemplateDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/NodeTemplateDao.java deleted file mode 100644 index 4669e37c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/NodeTemplateDao.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; - - -/** - * host DAO class. - * - */ -public class NodeTemplateDao extends BaseDao { - - public NodeTemplateDao(SessionFactory sessionFactory) { - super(sessionFactory); - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/PackageDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/PackageDao.java deleted file mode 100644 index 81869de5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/PackageDao.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.db.entity.PackageData; - - -/** - * host DAO class. - * - */ -public class PackageDao extends BaseDao { - - public PackageDao(SessionFactory sessionFactory) { - super(sessionFactory); - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateDao.java deleted file mode 100644 index bd38a915..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateDao.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; - -/** - * DAO class. - * - */ -public class ServiceTemplateDao extends BaseDao { - - public ServiceTemplateDao(SessionFactory sessionFactory) { - super(sessionFactory); - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateMappingDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateMappingDao.java deleted file mode 100644 index d5e41306..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/ServiceTemplateMappingDao.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; - -/** - * DAO class. - * - */ -public class ServiceTemplateMappingDao extends BaseDao { - - public ServiceTemplateMappingDao(SessionFactory sessionFactory) { - super(sessionFactory); - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/TemplateDao.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/TemplateDao.java deleted file mode 100644 index 5a772ba4..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/dao/TemplateDao.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.dao; - -import org.hibernate.HibernateException; -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.TemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * DAO class. - * - */ -public class TemplateDao extends BaseDao { - private static final Logger logger = LoggerFactory.getLogger(TemplateDao.class); - - public TemplateDao(SessionFactory sessionFactory) { - super(sessionFactory); - } - - /** - * create template data. - */ - public TemplateData create(TemplateData data) throws CatalogResourceException { - logger.info("TemplateDao:start add template.info:" + CatalogDbUtil.objectToString(data)); - beginTransaction(); - try { - this.session.persist(data.getServiceTemplate()); - for (NodeTemplateData nodeData : data.getNodeTemplates()) { - this.session.persist(nodeData); - } - closeTransaction(); - } catch (HibernateException e1) { - logger.error("TemplateDao:error while add template data.errorMsg:" + e1.getMessage()); - throw new CatalogResourceException("error while add template data" + e1.getMessage(), e1); - } finally { - closeSession(); - } - logger.info("TemplateDao: add template end ."); - return data; - } - - /** - * delete template data. - */ - public void delete(TemplateData data) throws CatalogResourceException { - logger.info("TemplateDao:start delete template.info:" + CatalogDbUtil.objectToString(data)); - beginTransaction(); - try { - for (NodeTemplateData nodeData : data.getNodeTemplates()) { - this.session.delete(nodeData); - } - this.session.delete(data.getServiceTemplate()); - closeTransaction(); - } catch (HibernateException e1) { - logger.error("TemplateDao:error while delete template data.errorMsg:" + e1.getMessage()); - throw new CatalogResourceException("error while delete template data" + e1.getMessage(), e1); - } finally { - closeSession(); - } - logger.info("TemplateDao: delete template end ."); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/BaseData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/BaseData.java deleted file mode 100644 index ce688cbb..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/BaseData.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -public class BaseData { - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/NodeTemplateData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/NodeTemplateData.java deleted file mode 100644 index 0457e068..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/NodeTemplateData.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - -@Entity -@Table(name = "catalog_node_template_table") -@JsonIgnoreProperties(ignoreUnknown = true) -public class NodeTemplateData extends BaseData implements Serializable{ - - private static final long serialVersionUID = -2512216362645538471L; - @Id - @Column(name = "NODETEMPLATEID") - private String nodeTemplateId; - @Column(name = "NAME") - private String name; - @Id - @Column(name = "SERVICETEMPLATEID") - private String serviceTemplateId; - - @Column(name = "TYPE") - private String type; - - @Column(name = "PROPERTIES") - private String properties; - - @Column(name = "RELATIONSHIPS") - private String relationShips; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getServiceTemplateId() { - return serviceTemplateId; - } - - public void setServiceTemplateId(String serviceTemplateId) { - this.serviceTemplateId = serviceTemplateId; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getProperties() { - return properties; - } - - public void setProperties(String properties) { - this.properties = properties; - } - - public String getRelationShips() { - return relationShips; - } - - public void setRelationShips(String relationShips) { - this.relationShips = relationShips; - } - - public void setNodeTemplateId(String nodeTemplateId) { - this.nodeTemplateId = nodeTemplateId; - } - - public String getNodeTemplateId() { - return nodeTemplateId; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/PackageData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/PackageData.java deleted file mode 100644 index 631c6d9b..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/PackageData.java +++ /dev/null @@ -1,187 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - -@Entity -@Table(name = "catalog_package_table") -@JsonIgnoreProperties(ignoreUnknown = true) -public class PackageData extends BaseData { - - @Id - @Column(name = "CSARID") - private String csarId; - @Column(name = "DOWNLOADURi") - private String downloadUri; - - @Column(name = "NAME") - private String name; - - @Column(name = "SIZE") - private String size; - @Column(name = "VERSION") - private String version; - - @Column(name = "PROVIDER") - private String provider; - @Column(name = "TYPE") - private String type; - @Column(name = "FORMAT") - private String format; - - @Column(name = "DELETIONPENDING") - private String deletionPending; - - @Column(name = "MODIFYTIME") - private String modifyTime; - @Column(name = "OPERATIONALSTATE") - private String operationalState; - @Column(name = "USAGESTATE") - private String usageState; - @Column(name = "CREATETIME") - private String createTime; - @Column(name = "ONBOARDSTATE") - private String onBoardState; - @Column(name = "PROCESSSTATE") - private String processState; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getOnBoardState() { - return onBoardState; - } - - public void setOnBoardState(String onBoardState) { - this.onBoardState = onBoardState; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getProvider() { - return provider; - } - - public void setProvider(String provider) { - this.provider = provider; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDownloadUri() { - return downloadUri; - } - - public void setDownloadUri(String downloadUri) { - this.downloadUri = downloadUri; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - - public String getFormat() { - return format; - } - - public void setFormat(String format) { - this.format = format; - } - - public String getDeletionPending() { - return deletionPending; - } - - public void setDeletionPending(String deletionPending) { - this.deletionPending = deletionPending; - } - - public String getModifyTime() { - return modifyTime; - } - - public void setModifyTime(String modifyTime) { - this.modifyTime = modifyTime; - } - - public String getOperationalState() { - return operationalState; - } - - public void setOperationalState(String operationalState) { - this.operationalState = operationalState; - } - - public String getUsageState() { - return usageState; - } - - public void setUsageState(String usageState) { - this.usageState = usageState; - } - - public String getCreateTime() { - return createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public void setCsarId(String csarId) { - this.csarId = csarId; - } - - public String getCsarId() { - return csarId; - } - - public String getProcessState() { - return processState; - } - - public void setProcessState(String processState) { - this.processState = processState; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateData.java deleted file mode 100644 index 7348b868..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateData.java +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - - -@Entity -@Table(name = "catalog_service_template_table") -@JsonIgnoreProperties(ignoreUnknown = true) -public class ServiceTemplateData extends BaseData { - @Id - @Column(name = "SERVICETEMPLATEID") - private String serviceTemplateId; - @Column(name = "TEMPLATENAME") - private String templateName; - - @Column(name = "TYPE") - private String type; - - @Column(name = "VENDOR") - private String vendor; - - @Column(name = "VERSION") - private String version; - - @Column(name = "CSARID") - private String csarId; - - @Column(name = "INPUTS") - private String inputs; - - @Column(name = "DOWNLOADURI") - private String downloadUri; - - @Column(name = "ROWDATA") - private String rowData; - @Column(name = "OPERATIONS") - private String operations; - - @Column(name = "METADATA") - private String metadata; - - @Column(name = "SERVICETEMPLATEORIGINALID") - private String serviceTemplateOriginalId; - - public String getRowData() { - return rowData; - } - - public void setRowData(String rowData) { - this.rowData = rowData; - } - - public String getOperations() { - return operations; - } - - public void setOperations(String operations) { - this.operations = operations; - } - - public String getTemplateName() { - return templateName; - } - - public void setTemplateName(String templateName) { - this.templateName = templateName; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getVendor() { - return vendor; - } - - public void setVendor(String vendor) { - this.vendor = vendor; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getCsarId() { - return csarId; - } - - public void setCsarId(String csarId) { - this.csarId = csarId; - } - - public String getInputs() { - return inputs; - } - - public void setInputs(String inputs) { - this.inputs = inputs; - } - - public String getDownloadUri() { - return downloadUri; - } - - public void setDownloadUri(String downloadUri) { - this.downloadUri = downloadUri; - } - - public void setServiceTemplateId(String serviceTemplateId) { - this.serviceTemplateId = serviceTemplateId; - } - - public String getServiceTemplateId() { - return serviceTemplateId; - } - - public String getMetadata() { - return metadata; - } - - public void setMetadata(String metadata) { - this.metadata = metadata; - } - - public String getServiceTemplateOriginalId() { - return serviceTemplateOriginalId; - } - - public void setServiceTemplateOriginalId(String serviceTemplateOriginalId) { - this.serviceTemplateOriginalId = serviceTemplateOriginalId; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateMappingData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateMappingData.java deleted file mode 100644 index fab23d6c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/ServiceTemplateMappingData.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - -@Entity -@Table(name = "catalog_model_substitution_mapping_table") -@JsonIgnoreProperties(ignoreUnknown = true) -public class ServiceTemplateMappingData extends BaseData { - - @Id - @Column(name = "MAPPINGID") - private String mappingId; - - @Column(name = "NODETYPE") - private String nodeType; - - @Column(name = "SERVICETEMPLATEID") - private String serviceTemplateId; - - @Column(name = "REQUIREMENTS") - private String requirements; - - @Column(name = "CAPABILITIES") - private String capabilities; - - public String getMappingId() { - return mappingId; - } - - public void setMappingId(String mappingId) { - this.mappingId = mappingId; - } - - public String getNodeType() { - return nodeType; - } - - public void setNodeType(String nodeType) { - this.nodeType = nodeType; - } - - public String getServiceTemplateId() { - return serviceTemplateId; - } - - public void setServiceTemplateId(String serviceTemplateId) { - this.serviceTemplateId = serviceTemplateId; - } - - public String getRequirements() { - return requirements; - } - - public void setRequirements(String requirements) { - this.requirements = requirements; - } - - public String getCapabilities() { - return capabilities; - } - - public void setCapabilities(String capabilities) { - this.capabilities = capabilities; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/TemplateData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/TemplateData.java deleted file mode 100644 index 415465c4..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/entity/TemplateData.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.entity; - -import java.util.ArrayList; - -public class TemplateData extends BaseData { - private ServiceTemplateData serviceTemplate; - private ArrayList nodeTemplates = new ArrayList(); - - public ServiceTemplateData getServiceTemplate() { - return serviceTemplate; - } - - public void setServiceTemplate(ServiceTemplateData serviceTemplate) { - this.serviceTemplate = serviceTemplate; - } - - public ArrayList getNodeTemplates() { - return nodeTemplates; - } - - public void setNodeTemplates(ArrayList nodeTemplates) { - this.nodeTemplates = nodeTemplates; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/CatalogResourceException.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/CatalogResourceException.java deleted file mode 100644 index c18ad432..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/CatalogResourceException.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.exception; - -public class CatalogResourceException extends ErrorCodeException { - private static final long serialVersionUID = 5699508780537383310L; - - - public CatalogResourceException(int errcode) { - super(errcode, ""); - } - - - public CatalogResourceException(int errcode, Throwable cause) { - super(cause, errcode); - } - - - public CatalogResourceException(int errcode, String message, Throwable cause) { - super(cause, errcode, message); - } - - - public CatalogResourceException() { - super(9999999, null); - } - - - public CatalogResourceException(String message) { - super(9999999, message); - } - - - public CatalogResourceException(Throwable cause) { - super(cause, 9999999); - } - - - public CatalogResourceException(String message, Throwable cause) { - super(cause, 9999999, message); - } - - - /** - * catalog resource exception. - * @param source throwable source - * @param errId error Id - * @param debugMessage debug message - * @param arguments arguments - */ - public CatalogResourceException(Throwable source, int errId, String debugMessage, - String[] arguments) { - super(source, errId, debugMessage, arguments); - } - - public CatalogResourceException(Throwable source, int category, int code, String debugMessage, - String[] arguments) { - super(source, category, code, debugMessage, arguments); - } - - public int getErrcode() { - return super.getErrorCode(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/ErrorCodeException.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/ErrorCodeException.java deleted file mode 100644 index 1a57f5e6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/exception/ErrorCodeException.java +++ /dev/null @@ -1,144 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.exception; - - -public class ErrorCodeException extends Exception { - - private static final long serialVersionUID = 3220072444842529499L; - private int categoryCode = 0; - private int errorCode = 1; - private String[] arguments = null; - - private static String defaultText = null; - - - public static void setDefaultText(String text) { - defaultText = text; - } - - - public static String getDefaultText() { - return defaultText; - } - - - public ErrorCodeException(int code, String debugMessage) { - this(code, debugMessage, null); - } - - /** - * error code exception. - * @param code error code - * @param debugMessage debug message - * @param arguments arguments - */ - public ErrorCodeException(int code, String debugMessage, String[] arguments) { - super(debugMessage); - this.errorCode = code; - this.arguments = arguments; - } - - - public ErrorCodeException(Throwable source, int code) { - this(source, code, (String[]) null); - } - - /** - * error code exception. - * @param source Throwable - * @param code error code - * @param arguments arguments - */ - public ErrorCodeException(Throwable source, int code, String[] arguments) { - super(source); - this.errorCode = code; - this.arguments = arguments; - } - - - public ErrorCodeException(Throwable source, int code, String debugMessage) { - this(source, code, debugMessage, null); - } - - /** - * error code exception. - * @param source Throwable - * @param code error code - * @param debugMessage debug message - * @param arguments arguments - */ - public ErrorCodeException(Throwable source, int code, String debugMessage, String[] arguments) { - super(debugMessage, source); - this.errorCode = code; - this.arguments = arguments; - } - - - public ErrorCodeException(int category, int code, String debugMessage) { - this(category, code, debugMessage, null); - } - - - public ErrorCodeException(int category, int code, String debugMessage, String[] arguments) { - super(debugMessage); - this.categoryCode = category; - this.errorCode = code; - this.arguments = arguments; - } - - - public ErrorCodeException(Throwable source, int category, int code) { - this(source, category, code, (String[]) null); - } - - - public ErrorCodeException(Throwable source, int category, int code, String[] arguments) { - super(source); - this.categoryCode = category; - this.errorCode = code; - this.arguments = arguments; - } - - - public ErrorCodeException(Throwable source, int category, int code, String debugMessage) { - this(source, category, code, debugMessage, null); - } - - - public ErrorCodeException(Throwable source, int category, int code, String debugMessage, - String[] arguments) { - super(debugMessage, source); - this.categoryCode = category; - this.errorCode = code; - this.arguments = arguments; - } - - - public int getCategory() { - return categoryCode; - } - - public int getErrorCode() { - return errorCode; - } - - - public String[] getArguments() { - return arguments; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleAgent.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleAgent.java deleted file mode 100644 index 43b9333e..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleAgent.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Copyright 2016 [ZTE] and others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.db.hibernate; - -import io.dropwizard.ConfiguredBundle; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; - -import org.openo.commontosca.catalog.CatalogAppConfiguration; -import org.openo.commontosca.catalog.db.dao.DaoManager; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class HibernateBundleAgent implements ConfiguredBundle { - - private final HibernateBundleExt bundle = new HibernateBundleExt(ServiceTemplateData.class, - PackageData.class, NodeTemplateData.class, ServiceTemplateMappingData.class); - private static final Logger LOGGER = LoggerFactory.getLogger(HibernateBundleAgent.class); - - @Override - public void run(final CatalogAppConfiguration configuration, final Environment environment) - throws Exception { - Thread thread = new Thread(new Runnable() { - int retry = 0; - boolean flag = true; - - public void run() { - while (retry < 1000) { - LOGGER.info("init hibernateBundle.retry:" + retry); - retry++; - try { - bundle.runExt(configuration, environment); - } catch (Exception e1) { - flag = false; - LOGGER.warn( - "init hibernateBundle failed, sleep 15S and try again.errorMsg:" + e1.getMessage()); - threadSleep(15000); - } - if (flag) { - LOGGER.info("init hibernateBundle success!"); - initDao(); - break; - } - } - } - }); - thread.setName("init hibernateBundle"); - thread.start(); - } - - private void initDao() { - DaoManager.getInstance().setSessionFactory(bundle.getSessionFactory()); - } - - private void threadSleep(int second) { - LOGGER.info("start sleep ...."); - try { - Thread.sleep(second); - } catch (InterruptedException error) { - LOGGER.error("thread sleep error.errorMsg:" + error.getMessage()); - } - LOGGER.info("sleep end ."); - } - - @Override - public void initialize(Bootstrap bootstrap) { - bundle.initializeExt(bootstrap); - } - // - // public SessionFactory getSessionFactory() { - // return bundle.getSessionFactory(); - // } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleExt.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleExt.java deleted file mode 100644 index 20759491..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/hibernate/HibernateBundleExt.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright 2016 [ZTE] and others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.db.hibernate; - -import com.google.common.collect.ImmutableList; - -import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module; - -import io.dropwizard.db.DataSourceFactory; -import io.dropwizard.hibernate.HibernateBundle; -import io.dropwizard.hibernate.SessionFactoryFactory; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; - -import org.hibernate.SessionFactory; -import org.openo.commontosca.catalog.CatalogAppConfiguration; - - -public class HibernateBundleExt extends HibernateBundle { - - private static final String DEFAULT_NAME = "hibernate"; - - private SessionFactory sessionFactory; - - private final ImmutableList> entities; - private final SessionFactoryFactory sessionFactoryFactory; - - protected HibernateBundleExt(Class entity, Class... entities) { - this(ImmutableList.>builder().add(entity).add(entities).build(), - new SessionFactoryFactory()); - } - - protected HibernateBundleExt(ImmutableList> entities, - SessionFactoryFactory sessionFactoryFactory) { - super(entities, sessionFactoryFactory); - this.entities = entities; - this.sessionFactoryFactory = sessionFactoryFactory; - } - - public final void initializeExt(Bootstrap bootstrap) { - bootstrap.getObjectMapper().registerModule(createHibernate4Module()); - } - - /** - * Override to configure the {@link Hibernate4Module}. - */ - protected Hibernate4Module createHibernate4Module() { - return new Hibernate4Module(); - } - - protected String name() { - return DEFAULT_NAME; - } - - public final void runExt(CatalogAppConfiguration configuration, Environment environment) - throws Exception { - final DataSourceFactory dbConfig = getDataSourceFactory(configuration); - this.sessionFactory = - sessionFactoryFactory.build(this, environment, dbConfig, entities, name()); - - } - - public SessionFactory getSessionFactory() { - return sessionFactory; - } - - - @Override - public DataSourceFactory getDataSourceFactory(CatalogAppConfiguration configuration) { - return configuration.getDataSourceFactory(); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/PackageManager.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/PackageManager.java deleted file mode 100644 index a22fc66b..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/PackageManager.java +++ /dev/null @@ -1,181 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.resource; - -import org.openo.commontosca.catalog.db.common.Parameters; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; - -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; -import org.openo.commontosca.catalog.db.util.HqlFactory; -import org.openo.commontosca.catalog.db.wrapper.PackageHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -public class PackageManager { - private static final Logger LOGGER = LoggerFactory.getLogger(PackageManager.class); - private static PackageManager manager; - PackageHandler handler = new PackageHandler(); - - /** - * get PackageManager instance. - * @return PackageManager instance - */ - public static synchronized PackageManager getInstance() { - if (manager == null) { - manager = new PackageManager(); - } - return manager; - } - - private PackageManager() {} - - /** - * add package. - * @param packageData package data - * @return PackageData - * @throws CatalogResourceException e - */ - public PackageData addPackage(PackageData packageData) throws CatalogResourceException { - LOGGER.info("start add package info to db.info:" + CatalogDbUtil.objectToString(packageData)); - PackageData data = handler.create(packageData); - LOGGER.info(" package info to db end.info:" + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query package by package id. - * @param csarId package id - * @return package data list - * @throws CatalogResourceException e - */ - public ArrayList queryPackageByCsarId(String csarId) - throws CatalogResourceException { - Map queryParam = new HashMap(); - queryParam.put(Parameters.csarId.name(), csarId); - LOGGER.info("start query package info by csarid." + csarId); - ArrayList data = handler.query(queryParam); - LOGGER.info("query package info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query package by condition. - * @param name package name - * @param provider package provider - * @param version package version - * @param deletionPending deletionPending - * @param type package type - * @return package data list - * @throws CatalogResourceException e - */ - public ArrayList queryPackage(String name, String provider, String version, - String deletionPending, String type) throws CatalogResourceException { - LOGGER.info("start query package info.name:" + name + " provider:" + provider + " version:" - + version + " type:" + type); - Map queryParam = new HashMap(); - if (CatalogDbUtil.isNotEmpty(name)) { - queryParam.put(Parameters.name.name(), name); - } - if (CatalogDbUtil.isNotEmpty(version)) { - queryParam.put(Parameters.version.name(), version); - } - if (CatalogDbUtil.isNotEmpty(deletionPending)) { - queryParam.put(Parameters.deletionPending.name(), deletionPending); - } - if (CatalogDbUtil.isNotEmpty(type)) { - queryParam.put(Parameters.type.name(), type); - } - if (CatalogDbUtil.isNotEmpty(provider)) { - queryParam.put(Parameters.provider.name(), provider); - } - ArrayList data = handler.query(queryParam); - LOGGER.info("query package info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * delete package according package id. - * @param packageId package id - * @throws CatalogResourceException e - */ - public void deletePackage(String packageId) throws CatalogResourceException { - LOGGER.info("start delete package info by id." + packageId); - handler.delete(packageId); - LOGGER.info(" delete package info end id." + packageId); - } - - /** - * delete package by service template id. - * @param serviceTemplateId service template id - * @throws CatalogResourceException e - */ - public void deletePackageByServiceTemplateId(String serviceTemplateId) - throws CatalogResourceException { - LOGGER.info("start delete package info by serviceTemplateid." + serviceTemplateId); - ServiceTemplateData serviceTemplate = new ServiceTemplateData(); - serviceTemplate.setServiceTemplateId(serviceTemplateId); - String filter = - HqlFactory.getDeleteHqlByFilter(PackageData.class, serviceTemplate, - Parameters.csarId.name()); - int data = handler.unionDelete(filter); - - LOGGER.info("delete serviceTemplate info end.num:" + data); - } - - /** - * query package by service template id. - * @param serviceTemplateId service template id - * @return package data list - * @throws CatalogResourceException e - */ - public ArrayList queryPackageByServiceTemplateId(String serviceTemplateId) - throws CatalogResourceException { - LOGGER.info("start query package info by serviceTemplateid." + serviceTemplateId); - ServiceTemplateData serviceTemplate = new ServiceTemplateData(); - serviceTemplate.setServiceTemplateId(serviceTemplateId); - String filter = - HqlFactory - .getQueryHqlByFilter(PackageData.class, serviceTemplate, Parameters.csarId.name()); - ArrayList data = handler.unionQuery(filter); - LOGGER.info("query package info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * update package data. - * - * @param packageData package data - * @param csarId package id - * @throws CatalogResourceException e - */ - public void updatePackage(PackageData packageData, String csarId) - throws CatalogResourceException { - LOGGER.info("start update package info by id." + csarId + " info:" - + CatalogDbUtil.objectToString(packageData)); - handler.update(packageData, csarId); - LOGGER.info(" update package end id." + csarId); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/TemplateManager.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/TemplateManager.java deleted file mode 100644 index e389bfe6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/resource/TemplateManager.java +++ /dev/null @@ -1,301 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.resource; - -import org.openo.commontosca.catalog.db.common.Parameters; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.openo.commontosca.catalog.db.entity.TemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; -import org.openo.commontosca.catalog.db.util.HqlFactory; -import org.openo.commontosca.catalog.db.wrapper.NodeTemplateHandler; -import org.openo.commontosca.catalog.db.wrapper.ServiceTemplateHandler; -import org.openo.commontosca.catalog.db.wrapper.ServiceTemplateMappingHandler; -import org.openo.commontosca.catalog.db.wrapper.TemplateHandler; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -public class TemplateManager { - private static final Logger LOGGER = LoggerFactory.getLogger(TemplateManager.class); - private static TemplateManager manager; - ServiceTemplateHandler handler = new ServiceTemplateHandler(); - NodeTemplateHandler nodeTemplateHandler = new NodeTemplateHandler(); - TemplateHandler templateHandler = new TemplateHandler(); - ServiceTemplateMappingHandler mappingHandler = new ServiceTemplateMappingHandler(); - - /** - * get TemplateManager instance. - * @return TemplateManager instance - */ - public static synchronized TemplateManager getInstance() { - if (manager == null) { - manager = new TemplateManager(); - } - return manager; - } - - private TemplateManager() {} - - /** - * add service template. - * - * @param templateData TemplateData - * @return TemplateData - * @throws CatalogResourceException e - */ - public TemplateData addServiceTemplate(TemplateData templateData) - throws CatalogResourceException { - LOGGER - .info("start add template info to db.info:" + CatalogDbUtil.objectToString(templateData)); - TemplateData data = templateHandler.create(templateData); - LOGGER.info(" template info to db end.info:" + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * add service template mapping. - * @param templateMappingData mapping data - * @return ServiceTemplateMappingData - * @throws CatalogResourceException e - */ - public ServiceTemplateMappingData addServiceTemplateMapping( - ServiceTemplateMappingData templateMappingData) throws CatalogResourceException { - LOGGER.info("start add servicetemplate Mapping info to db.info:" - + CatalogDbUtil.objectToString(templateMappingData)); - ServiceTemplateMappingData data = mappingHandler.create(templateMappingData); - LOGGER.info(" template mapping info to db end.info:" + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query service template mapping by id. - * @param id id - * @return ServiceTemplateMappingData list - * @throws CatalogResourceException e - */ - public ArrayList queryServiceTemplateMappingById(String id) - throws CatalogResourceException { - Map queryParam = new HashMap(); - queryParam.put(Parameters.mappingId.name(), id); - LOGGER.info("start query serviceTemplateMapping info by id." + id); - ArrayList data = mappingHandler.query(queryParam); - LOGGER.info("query serviceTemplateMapping info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * delete service template mapping by id. - * @param id id - * @throws CatalogResourceException e - */ - public void deleteServiceTemplateMappingById(String id) throws CatalogResourceException { - - LOGGER.info("start delete serviceTemplateMapping info by id." + id); - mappingHandler.delete(id); - LOGGER.info("delete serviceTemplateMapping info end"); - } - - /** - * delete service template mapping. - * @param nodeType node type - * @param serviceTemplateId service template id - * @throws CatalogResourceException e - */ - public void deleteServiceTemplateMapping(String nodeType, String serviceTemplateId) - throws CatalogResourceException { - Map delParam = new HashMap(); - if (CatalogDbUtil.isNotEmpty(nodeType)) { - delParam.put(Parameters.nodeType.name(), nodeType); - } - if (CatalogDbUtil.isNotEmpty(serviceTemplateId)) { - delParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId); - } - LOGGER.info("start delete serviceTemplateMapping info.nodeType:" + nodeType - + " serviceTemplateId:" + serviceTemplateId); - mappingHandler.delete(delParam); - LOGGER.info("delete serviceTemplateMapping info "); - } - - /** - * query service template mapping. - * @param nodeType nodeType - * @param serviceTemplateId serviceTemplateId - * @return ServiceTemplateMappingData list - * @throws CatalogResourceException e - */ - public ArrayList queryServiceTemplateMapping(String nodeType, - String serviceTemplateId) throws CatalogResourceException { - Map queryParam = new HashMap(); - if (CatalogDbUtil.isNotEmpty(nodeType)) { - queryParam.put(Parameters.nodeType.name(), nodeType); - } - if (CatalogDbUtil.isNotEmpty(serviceTemplateId)) { - queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId); - } - LOGGER.info("start query serviceTemplateMapping info.nodeType:" + nodeType - + " serviceTemplateId:" + serviceTemplateId); - ArrayList data = mappingHandler.query(queryParam); - LOGGER.info("query serviceTemplateMapping info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query service template by id. - * @param id service template id - * @return ServiceTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList queryServiceTemplateById(String id) - throws CatalogResourceException { - Map queryParam = new HashMap(); - queryParam.put(Parameters.serviceTemplateId.name(), id); - LOGGER.info("start query serviceTemplate info by id." + id); - ArrayList data = handler.query(queryParam); - LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query service template according to condition. - * @param type template type - * @param version template version - * @param vendor template vendor - * @return ServiceTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList queryServiceTemplate(String type, String version, - String vendor) throws CatalogResourceException { - LOGGER.info("start query serviceTemplate info.type:" + type + " vendor:" + vendor + " version:" - + version); - Map queryParam = new HashMap(); - if (CatalogDbUtil.isNotEmpty(type)) { - queryParam.put(Parameters.type.name(), type); - } - if (CatalogDbUtil.isNotEmpty(vendor)) { - queryParam.put(Parameters.vendor.name(), vendor); - } - if (CatalogDbUtil.isNotEmpty(version)) { - queryParam.put(Parameters.version.name(), version); - } - ArrayList data = handler.query(queryParam); - LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query node template service template id. - * @param serviceTemplateId service template id - * @return NodeTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList queryNodeTemplateBySeriviceTemplateId(String serviceTemplateId) - throws CatalogResourceException { - LOGGER.info("start query NodeTemplate info.serviceTemplateId:" + serviceTemplateId); - Map queryParam = new HashMap(); - queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId); - ArrayList data = nodeTemplateHandler.query(queryParam); - LOGGER.info("query NodeTemplate info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query node template by id. - * @param serviceTemplateId service template id - * @param nodeTemplateId nodetemplate id - * @return NodeTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList queryNodeTemplateById(String serviceTemplateId, - String nodeTemplateId) throws CatalogResourceException { - LOGGER.info("start query NodeTemplate info.serviceTemplateId:" + serviceTemplateId - + "nodeTemplateId:" + nodeTemplateId); - Map queryParam = new HashMap(); - if (CatalogDbUtil.isNotEmpty(serviceTemplateId)) { - queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId); - } - if (CatalogDbUtil.isNotEmpty(nodeTemplateId)) { - queryParam.put(Parameters.nodeTemplateId.name(), nodeTemplateId); - } - ArrayList data = nodeTemplateHandler.query(queryParam); - LOGGER.info("query NodeTemplate info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * query service template by package infomation. - * @param packageInfo package information - * @return ServiceTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList queryServiceTemplateByCsarPackageInfo( - PackageData packageInfo) throws CatalogResourceException { - LOGGER.info("start query serviceTemplate info by package.package:" - + CatalogDbUtil.objectToString(packageInfo)); - String filter = - HqlFactory.getQueryHqlByFilter(ServiceTemplateData.class, packageInfo, - Parameters.csarId.name()); - ArrayList data = handler.unionQuery(filter); - LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:" - + CatalogDbUtil.objectToString(data)); - return data; - } - - /** - * delete service template by id. - * @param serviceTemplateId service template id - * @throws CatalogResourceException e - */ - public void deleteServiceTemplateById(String serviceTemplateId) throws CatalogResourceException { - LOGGER.info("start delete serviceTemplate info.id:" + serviceTemplateId); - ArrayList nodeTemplateList = - queryNodeTemplateBySeriviceTemplateId(serviceTemplateId); - templateHandler.delete(serviceTemplateId, nodeTemplateList); - LOGGER.info(" delete serviceTemplate info end id." + serviceTemplateId); - } - - /** - * delete service template by package info. - * @param packageInfo package information - * @throws CatalogResourceException e - */ - public void deleteServiceTemplateByCsarPackageInfo(PackageData packageInfo) - throws CatalogResourceException { - LOGGER.info("start delete serviceTemplate info by package.package:" - + CatalogDbUtil.objectToString(packageInfo)); - - ArrayList serviceTemplate = - queryServiceTemplateByCsarPackageInfo(packageInfo); - for (int i = 0; i < serviceTemplate.size(); i++) { - deleteServiceTemplateById(serviceTemplate.get(i).getServiceTemplateId()); - } - LOGGER.info("delete serviceTemplate info end."); - - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/CatalogDbUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/CatalogDbUtil.java deleted file mode 100644 index ff6518e0..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/CatalogDbUtil.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.util; - - -import com.google.gson.Gson; - -import java.util.UUID; - - -public class CatalogDbUtil { - - public static String generateId() { - return UUID.randomUUID().toString(); - } - - public static boolean isNotEmpty(String str) { - return str != null && !"".equals(str) && str.length() > 0; - } - - /** - * exchange object to string. - * @param obj Object - * @return string - */ - public static String objectToString(Object obj) { - Gson gson = new Gson(); - if (obj != null) { - return gson.toJson(obj); - } else { - return null; - } - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/HqlFactory.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/HqlFactory.java deleted file mode 100644 index 08e2e35c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/util/HqlFactory.java +++ /dev/null @@ -1,208 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.Arrays; - -/** - * a tool class for creating Hibernate's HQL. - * - */ -public class HqlFactory { - - private static final Logger logger = LoggerFactory.getLogger(HqlFactory.class); - - /** - * get update hql. - * @param obj the object that used to be generate the hql - * @param excludeProperties the properties that need not to be used - * @param filter the condition after "where" - * @return hibernate hql - */ - public static String getUpdateHql(Object obj, String[] excludeProperties, String filter) { - StringBuffer hql = new StringBuffer(); - String objName = obj.getClass().getSimpleName(); - hql.append("update "); - hql.append(objName); - hql.append(" set "); - Field[] fields = obj.getClass().getDeclaredFields(); - if (obj.getClass().getGenericSuperclass() != null) { - Field[] parentFields = obj.getClass().getSuperclass().getDeclaredFields(); - fields = concat(fields, parentFields); - } - for (Field field : fields) { - String name = field.getName(); - Method method = null; - Object value = null; - if (!contain(excludeProperties, name)) { - String upperName = name.substring(0, 1).toUpperCase() + name.substring(1); - try { - method = obj.getClass().getMethod("get" + upperName); - value = method.invoke(obj); - if (value != null) { - if (value instanceof String) { - hql.append(name); - hql.append("="); - hql.append("'"); - hql.append(value); - hql.append("'"); - hql.append(","); - } else { - hql.append(name); - hql.append("="); - hql.append(value); - hql.append(","); - } - } - } catch (Exception e1) { - logger.error("error while creating update hql", e1); - } - } - } - - String sql = hql.toString(); - sql = sql.substring(0, sql.lastIndexOf(",")); - if (filter != null) { - sql = sql + " where " + filter; - } - logger.info("update hql is : " + sql); - return sql; - } - - /** - * judge wether target contains src. - * @param src String[] - * @param target String - * @return boolean - */ - public static boolean contain(String[] src, String target) { - if (src == null || src.length == 0 || target == null) { - return false; - } else { - for (String str : src) { - if(str.equals(target)){ - return true; - } - } - } - return false; - } - - /** - * concat two array. - * @param first first array - * @param second second array - * @return T - */ - public static T[] concat(T[] first, T[] second) { - T[] result = Arrays.copyOf(first, first.length + second.length); - System.arraycopy(second, 0, result, first.length, second.length); - return result; - } - - public static String getOidFilter(String key, String value) { - return key + "= '" + value + "'"; - } - - /** - * get query hql. - * @param data Object - * @param column String - * @return String - */ - public static String getQueryHql(Object data, String column) { - StringBuffer hql = new StringBuffer(); - String objName = data.getClass().getSimpleName(); - hql.append("select q."); - hql.append(column); - hql.append(" from "); - hql.append(objName); - hql.append(" as q where "); - Field[] fields = data.getClass().getDeclaredFields(); - if (data.getClass().getGenericSuperclass() != null) { - Field[] parentFields = data.getClass().getSuperclass().getDeclaredFields(); - fields = concat(fields, parentFields); - } - for (Field field : fields) { - String name = field.getName(); - Method method = null; - Object value = null; - String upperName = name.substring(0, 1).toUpperCase() + name.substring(1); - try { - method = data.getClass().getMethod("get" + upperName); - value = method.invoke(data); - if (value != null) { - if (value instanceof String) { - hql.append("q." + name); - hql.append("="); - hql.append("'"); - hql.append(value); - hql.append("'"); - hql.append(" and "); - } else { - hql.append("q." + name); - hql.append("="); - hql.append(value); - hql.append("and "); - } - } - } catch (Exception e1) { - logger.error("error while creating update hql", e1); - } - } - String sql = hql.toString(); - sql = sql.substring(0, sql.lastIndexOf("and")); - - logger.info("query hql is : " + sql); - return sql.trim(); - } - - public static String getQueryHqlByFilter(Class mainObject, Object filterData, String foreignKey) { - StringBuffer hql = new StringBuffer(); - String objName = mainObject.getSimpleName(); - // hql.append("select queryTable."); - hql.append(" from "); - hql.append(objName); - hql.append(" as a where "); - String filterHql = getQueryHql(filterData, foreignKey); - hql.append("a." + foreignKey); - hql.append(" in("); - hql.append(filterHql); - hql.append(")"); - logger.info("QueryHqlByFilter is : " + hql); - return hql.toString(); - } - - public static String getDeleteHqlByFilter(Class mainObject, Object filterData, String foreignKey) { - StringBuffer hql = new StringBuffer(); - String objName = mainObject.getSimpleName(); - hql.append("delete from "); - hql.append(objName); - hql.append(" as b where "); - String filterHql = getQueryHql(filterData, foreignKey); - hql.append("b." + foreignKey); - hql.append(" in("); - hql.append(filterHql); - hql.append(")"); - logger.info("DeleteHqlByFilter is : " + hql); - return hql.toString(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/BaseHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/BaseHandler.java deleted file mode 100644 index 276b1c6a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/BaseHandler.java +++ /dev/null @@ -1,212 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import com.google.gson.Gson; - -import org.openo.commontosca.catalog.db.dao.BaseDao; -import org.openo.commontosca.catalog.db.dao.DaoManager; -import org.openo.commontosca.catalog.db.entity.BaseData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.List; -import java.util.Map; - - - -/** - * an abstract class for NFV wrapper class. - * provide the common methods to process the CRUD rest request. - * - */ -public abstract class BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(BaseHandler.class); - - public Gson gson = new Gson(); - - /** - * create date. - * @param data data to create - * @param resouceType resouce type - * @return T - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"unchecked", "rawtypes"}) - public T create(T data, String resouceType) throws CatalogResourceException { - T rtnData = null; - logger.info("BaseHandler:start create data.info:" + CatalogDbUtil.objectToString(data)); - try { - check(data); - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - rtnData = (T) dao.create(data); - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while creating " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler:create data end.info:" + CatalogDbUtil.objectToString(data)); - return rtnData; - } - - /** - * delete data. - * @param data data to delete - * @param resouceType resource type - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public void delete(T data, String resouceType) throws CatalogResourceException { - logger.info("BaseHandler:start delete data.info:" + CatalogDbUtil.objectToString(data)); - try { - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - dao.delete(data); - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while deleting " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler:delete data end"); - } - - /** - * delete data. - * @param queryParam query param - * @param resouceType String - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public void delete(Map queryParam, String resouceType) - throws CatalogResourceException { - logger.info("BaseHandler:start delete data by condition.info:" - + CatalogDbUtil.objectToString(queryParam)); - List datas; - try { - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - datas = dao.query(queryParam); - for (T data : datas) { - delete(data, resouceType); - } - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while deleting " + resouceType, e1); - throw e1; - } - - } - - /** - * update data. - * @param data data to update - * @param filter filter - * @param resouceType resource type - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public void update(T data, String filter, String resouceType) throws CatalogResourceException { - logger.info("BaseHandler:start update data .info:" + CatalogDbUtil.objectToString(data) - + " filter:" + filter); - try { - check(data); - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - dao.update(data, filter); - - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while updating " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler:update data end "); - } - - /** - * query data. - * @param queryParam query parameter - * @param resouceType resource type - * @return T list - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public List query(Map queryParam, String resouceType) - throws CatalogResourceException { - logger.info("BaseHandler:start query data .info:" + CatalogDbUtil.objectToString(queryParam)); - List datas = null; - try { - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - datas = dao.query(queryParam); - - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while querying " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler: query data end .info:" + CatalogDbUtil.objectToString(datas)); - return datas; - } - - /** - * union query. - * @param filter filter - * @param resouceType resource type - * @return T list - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public List unionQuery(String filter, String resouceType) throws CatalogResourceException { - logger.info("BaseHandler:start union query data.fliter:" + filter); - List datas = null; - try { - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - datas = dao.unionQuery(filter); - - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while union querying " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler:union query data end .info:" + CatalogDbUtil.objectToString(datas)); - return datas; - } - - /** - * union delete. - * @param filter filter - * @param resouceType resource type - * @return int - * @throws CatalogResourceException e1 - */ - @SuppressWarnings({"rawtypes", "unchecked"}) - public int unionDelete(String filter, String resouceType) throws CatalogResourceException { - logger.info("BaseHandler:start delete query data.fliter:" + filter); - int num; - try { - BaseDao dao = DaoManager.getInstance().getDao(resouceType); - num = dao.unionDelete(filter); - - } catch (CatalogResourceException e1) { - logger.error("BaseHandler:error while union delete " + resouceType, e1); - throw e1; - } - logger.info("BaseHandler:union delete data end .num:" + num); - return num; - } - - /** - * check if the related object id exists in the system. - * - * @param data data to check - * @throws CatalogResourceException e - */ - public abstract void check(T data) throws CatalogResourceException; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/NodeTemplateHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/NodeTemplateHandler.java deleted file mode 100644 index 4ee455bf..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/NodeTemplateHandler.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Map; - -public class NodeTemplateHandler extends BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(NodeTemplateHandler.class); - - /** - * query node template. - * @param queryParam query parameter - * @return NodeTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList query(Map queryParam) - throws CatalogResourceException { - logger.info("NodeTemplateHandler query nodeTemplate info."); - ArrayList data = new ArrayList(); - Object result = query(queryParam, CatalogResuorceType.NODETEMPLATE.name()); - if (result != null) { - data = (ArrayList) result; - } else { - logger.warn("NodeTemplateHandler: query nodeTemplate info is null."); - } - logger.info("NodeTemplateHandler: query nodeTemplate info end."); - return data; - - } - - @Override - public void check(NodeTemplateData nodeTemplateData) throws CatalogResourceException { - - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/PackageHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/PackageHandler.java deleted file mode 100644 index 2ec747d0..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/PackageHandler.java +++ /dev/null @@ -1,159 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.common.Parameters; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; -import org.openo.commontosca.catalog.db.util.HqlFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Map; - -public class PackageHandler extends BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(PackageHandler.class); - - /** - * create package data. - * @param packageData package data to create - * @return PackageData - * @throws CatalogResourceException e1 - */ - public PackageData create(PackageData packageData) throws CatalogResourceException { - logger.info("packageHandler:start create package info."); - PackageData data = null; - if (!CatalogDbUtil.isNotEmpty(packageData.getCsarId())) { - - logger.info("packageHandler:package info does not have csarid,generate UUID."); - String id = CatalogDbUtil.generateId(); - packageData.setCsarId(id); - } - Object result = create(packageData, CatalogResuorceType.PACKAGE.name()); - if (result != null) { - data = (PackageData) result; - } else { - logger.info("packageHandler: query package info is null."); - } - logger.info("packageHandler: create package info end."); - return data; - } - - /** - * delete data. - * @param id package id - * @throws CatalogResourceException e - */ - public void delete(String id) throws CatalogResourceException { - logger.info("packageHandler:start delete package info."); - PackageData packageData = new PackageData(); - packageData.setCsarId(id); - delete(packageData, CatalogResuorceType.PACKAGE.name()); - logger.info("packageHandler: delete package info end."); - } - - /** - * delete data. - * @param queryParam query parameter - * @throws CatalogResourceException e - */ - public void delete(Map queryParam) throws CatalogResourceException { - logger.info("packageHandler:start delete package info."); - delete(queryParam, CatalogResuorceType.PACKAGE.name()); - logger.info("packageHandler:delete package info end."); - } - - /** - * update data. - * @param packageData packate data to update - * @param id package id - * @throws CatalogResourceException e - */ - public void update(PackageData packageData, String id) throws CatalogResourceException { - // HostData host = gson.fromJson(hostJson, HostData.class); - logger.info("packageHandler:start update package info."); - update(packageData, HqlFactory.getOidFilter(Parameters.csarId.name(), id), - CatalogResuorceType.PACKAGE.name()); - logger.info("packageHandler:update package info end."); - } - - /** - * union delete. - * @param filter delete filter - * @return int - * @throws CatalogResourceException e - */ - public int unionDelete(String filter) throws CatalogResourceException { - logger.info("packageHandler delete package info by union.filter:" + filter); - int num = 0; - Object result = unionDelete(filter, CatalogResuorceType.PACKAGE.name()); - if (result != null) { - num = (int) result; - } else { - logger.warn("packageHandler: delete package info is null."); - } - logger.info("packageHandler: delete package info end.num:" + num); - return num; - } - - /** - * union query. - * @param filter query filter - * @return PackageData list - * @throws CatalogResourceException e - */ - public ArrayList unionQuery(String filter) throws CatalogResourceException { - logger.info("packageHandler query package info by union.filter:" + filter); - ArrayList data = new ArrayList(); - Object result = unionQuery(filter, CatalogResuorceType.PACKAGE.name()); - if (result != null) { - data = data = (ArrayList) result; - } else { - logger.info("packageHandler: query package info is null."); - } - logger.info("packageHandler: query package info end"); - return data; - } - - /** - * query package data by map. - * @param queryParam map data - * @return PackageData list - * @throws CatalogResourceException e - */ - public ArrayList query(Map queryParam) - throws CatalogResourceException { - logger.info("packageHandler:start query package info."); - ArrayList data = new ArrayList(); - Object result = query(queryParam, CatalogResuorceType.PACKAGE.name()); - if (result != null) { - data = (ArrayList) result; - } else { - logger.info("packageHandler: query package info is null."); - } - logger.info("packageHandler: query package info end."); - return data; - } - - @Override - public void check(PackageData packageData) throws CatalogResourceException { - - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateHandler.java deleted file mode 100644 index 8d7d2a1b..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateHandler.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.TemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Map; - -public class ServiceTemplateHandler extends BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(ServiceTemplateHandler.class); - - @Override - public void check(TemplateData data) throws CatalogResourceException { - // TODO Auto-generated method stub - - } - - /** - * query service template data by map. - * @param queryParam map data - * @return ServiceTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList query(Map queryParam) - throws CatalogResourceException { - logger.info("ServiceTemplateHandler query serviceTemplate info."); - ArrayList data = new ArrayList(); - Object result = query(queryParam, CatalogResuorceType.SERVICETEMPLATE.name()); - if (result != null) { - data = (ArrayList) result; - } else { - logger.info("ServiceTemplateHandler: query serviceTemplate info is null."); - } - logger.info("ServiceTemplateHandler: query serviceTemplate info end."); - return data; - } - - /** - * query service template by union query. - * @param filter query filter - * @return ServiceTemplateData list - * @throws CatalogResourceException e - */ - public ArrayList unionQuery(String filter) throws CatalogResourceException { - logger.info("ServiceTemplateHandler query serviceTemplate info by union.filter:" + filter); - ArrayList data = new ArrayList(); - Object result = unionQuery(filter, CatalogResuorceType.SERVICETEMPLATE.name()); - if (result != null) { - data = (ArrayList) result; - } else { - logger.info("ServiceTemplateHandler: query serviceTemplate info is null."); - } - logger.info("ServiceTemplateHandler: query serviceTemplate info end."); - return data; - } - - /** - * union delete. - * @param filter delete filter - * @return int - * @throws CatalogResourceException e - */ - public int unionDelete(String filter) throws CatalogResourceException { - logger.info("ServiceTemplateHandler delete serviceTemplate info by union.filter:" + filter); - int num = 0; - Object result = unionDelete(filter, CatalogResuorceType.SERVICETEMPLATE.name()); - if (result != null) { - num = (int) result; - } else { - logger.info("ServiceTemplateHandler: delete serviceTemplate info is null."); - } - logger.info("ServiceTemplateHandler: delete serviceTemplate info end.num:" + num); - return num; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateMappingHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateMappingHandler.java deleted file mode 100644 index dfa16f5d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/ServiceTemplateMappingHandler.java +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Map; - - -public class ServiceTemplateMappingHandler extends BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(ServiceTemplateMappingHandler.class); - - /** - * create service template data. - * @param serviceTemplateMappingData service template maping data - * @return ServiceTemplateMappingData - * @throws CatalogResourceException e - */ - public ServiceTemplateMappingData create(ServiceTemplateMappingData serviceTemplateMappingData) - throws CatalogResourceException { - logger.info("ServiceTemplateMappingHandler:start create serviceTemplateMapping info."); - ServiceTemplateMappingData data = null; - if (!CatalogDbUtil.isNotEmpty(serviceTemplateMappingData.getMappingId())) { - logger.info( - "ServiceTemplateMappingHandler:mapping info " + "does not have mappingId,generate UUID."); - String id = CatalogDbUtil.generateId(); - serviceTemplateMappingData.setMappingId(id); - } - Object result = - create(serviceTemplateMappingData, CatalogResuorceType.SERVICETEMPLATEMAPPING.name()); - if (result != null) { - data = (ServiceTemplateMappingData) result; - } else { - logger.info("ServiceTemplateMappingHandler: query mapping info is null."); - } - logger.info("ServiceTemplateMappingHandler: create mapping info end."); - return data; - } - - /** - * delete data by id. - * @param id service template id - * @throws CatalogResourceException e - */ - public void delete(String id) throws CatalogResourceException { - logger.info("ServiceTemplateMappingHandler:start delete mapping info."); - ServiceTemplateMappingData serviceTemplateMappingData = new ServiceTemplateMappingData(); - serviceTemplateMappingData.setMappingId(id); - delete(serviceTemplateMappingData, CatalogResuorceType.SERVICETEMPLATEMAPPING.name()); - logger.info("ServiceTemplateMappingHandler: delete mapping info end."); - } - - /** - * delete data. - * @param delParam delete data according to delParam - * @throws CatalogResourceException e - */ - public void delete(Map delParam) throws CatalogResourceException { - logger.info("ServiceTemplateMappingHandler:start delete mapping info."); - delete(delParam, CatalogResuorceType.SERVICETEMPLATEMAPPING.name()); - logger.info("ServiceTemplateMappingHandler:delete mapping info end."); - } - - /** - * query service template mapping data. - * @param queryParam query map - * @return ServiceTemplateMappingData list - * @throws CatalogResourceException e - */ - public ArrayList query(Map queryParam) - throws CatalogResourceException { - logger.info("ServiceTemplateMappingHandler:start query mapping info."); - ArrayList data = new ArrayList(); - Object result = query(queryParam, CatalogResuorceType.SERVICETEMPLATEMAPPING.name()); - if (result != null) { - data = (ArrayList) result; - } else { - logger.info("ServiceTemplateMappingHandler: query mapping info is null."); - } - logger.info("ServiceTemplateMappingHandler: query mapping info end."); - return data; - - } - - @Override - public void check(ServiceTemplateMappingData data) throws CatalogResourceException { - // TODO Auto-generated method stub - - } - - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/TemplateHandler.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/TemplateHandler.java deleted file mode 100644 index 43b8ae64..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/db/wrapper/TemplateHandler.java +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.db.wrapper; - -import org.openo.commontosca.catalog.db.common.CatalogResuorceType; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.TemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; - -public class TemplateHandler extends BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(TemplateHandler.class); - - /** - * create template data. - * @param templateData template data to create - * @return TemplateData - * @throws CatalogResourceException e - */ - public TemplateData create(TemplateData templateData) throws CatalogResourceException { - logger.info("TemplateHandler create template info."); - TemplateData data = null; - String serviceTemplateOid = templateData.getServiceTemplate().getServiceTemplateId(); - if (!CatalogDbUtil.isNotEmpty(serviceTemplateOid)) { - logger.info("TemplateHandler:template info does not have oid,generate UUID."); - serviceTemplateOid = CatalogDbUtil.generateId(); - templateData.getServiceTemplate().setServiceTemplateId(serviceTemplateOid); - } - for (NodeTemplateData nodeData : templateData.getNodeTemplates()) { - String nodeTemplateOid = nodeData.getNodeTemplateId(); - if (!CatalogDbUtil.isNotEmpty(nodeTemplateOid)) { - logger.info("TemplateHandler:nodeTemplate info does not have id,generate UUID."); - nodeData.setNodeTemplateId(CatalogDbUtil.generateId()); - } - nodeData.setServiceTemplateId(serviceTemplateOid); - } - Object result = create(templateData, CatalogResuorceType.TEMPLATE.name()); - if (result != null) { - data = (TemplateData) result; - } else { - logger.info("TemplateHandler: query template info is null."); - } - logger.info("TemplateHandler: create template info end."); - return data; - } - - @Override - public void check(TemplateData data) throws CatalogResourceException { - // TODO Auto-generated method stub - - } - - /** - * delete node template. - * @param serviceTemplateId service template id - * @param nodeTemplateList node template list - * @throws CatalogResourceException e - */ - public void delete(String serviceTemplateId, ArrayList nodeTemplateList) - throws CatalogResourceException { - logger.info("TemplateHandler delete Template info."); - TemplateData templateData = new TemplateData(); - ServiceTemplateData serviceTemplateData = new ServiceTemplateData(); - serviceTemplateData.setServiceTemplateId(serviceTemplateId); - templateData.setServiceTemplate(serviceTemplateData); - templateData.setNodeTemplates(nodeTemplateList); - delete(templateData, CatalogResuorceType.TEMPLATE.name()); - logger.info("TemplateHandler: delete Template info end."); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarPackage.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarPackage.java deleted file mode 100644 index bf7a2d3d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarPackage.java +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public class CsarPackage { - private String id; - private String name; - private String createTime; - private String size; - private String status; - private String deletionPending; - private String format; - private String url; - private String type; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getFormat() { - return format; - } - - public void setFormat(String format) { - this.format = format; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDeletionPending() { - return deletionPending; - } - - public void setDeletionPending(String deletionPending) { - this.deletionPending = deletionPending; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getCreateTime() { - return createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarQueryCondition.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarQueryCondition.java deleted file mode 100644 index 5e3ba2ab..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/CsarQueryCondition.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CsarQueryCondition { - - private String csarId; - - private String name; - - private String provider; - - private String version; - - private Boolean deletionPending; - - private EnumType type; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOnboardState.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOnboardState.java deleted file mode 100644 index d89c31a6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOnboardState.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public enum EnumOnboardState { - onBoarded("onBoarded"), nonOnBoarded("non-onBoarded"); - - String value; - - EnumOnboardState(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOperationalState.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOperationalState.java deleted file mode 100644 index 3294d25e..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumOperationalState.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public enum EnumOperationalState { - Enabled, Disabled -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumProcessState.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumProcessState.java deleted file mode 100644 index ef1a59d5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumProcessState.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public enum EnumProcessState { - normal, onBoarding, onBoardFailed, deleting, deleteFailed -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumType.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumType.java deleted file mode 100644 index 969c18c0..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumType.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public enum EnumType { - GSAR, SSAR, NSAR, NFAR -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumUsageState.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumUsageState.java deleted file mode 100644 index c5766ff6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/EnumUsageState.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public enum EnumUsageState { - InUse, NotInUse -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/VnfPackage.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/VnfPackage.java deleted file mode 100644 index afbd9a43..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/VnfPackage.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity; - -public class VnfPackage { - private String vnfPackageId; - private String name; - private String version; - private String provider; - private String vnfd; - private EnumOperationalState operationalState = EnumOperationalState.Disabled; - private EnumUsageState usageState = EnumUsageState.InUse; - private String deletionPending; - private String vnfPackageUrl; - - public String getVnfPackageId() { - return vnfPackageId; - } - - public void setVnfPackageId(String vnfPackageId) { - this.vnfPackageId = vnfPackageId; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getProvider() { - return provider; - } - - public void setProvider(String provider) { - this.provider = provider; - } - - public String getVnfd() { - return vnfd; - } - - public void setVnfd(String vnfd) { - this.vnfd = vnfd; - } - - public EnumOperationalState getOperationalState() { - return operationalState; - } - - public void setOperationalState(EnumOperationalState operationalState) { - this.operationalState = operationalState; - } - - public EnumUsageState getUsageState() { - return usageState; - } - - public void setUsageState(EnumUsageState usageState) { - this.usageState = usageState; - } - - public String getVnfPackageUrl() { - return vnfPackageUrl; - } - - public void setVnfPackageUrl(String vnfPackageUrl) { - this.vnfPackageUrl = vnfPackageUrl; - } - - public String getDeletionPending() { - return deletionPending; - } - - public void setDeletionPending(String deletionPending) { - this.deletionPending = deletionPending; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/request/PackageBasicInfo.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/request/PackageBasicInfo.java deleted file mode 100644 index 0ff5b2f7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/request/PackageBasicInfo.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity.request; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import org.openo.commontosca.catalog.entity.EnumType; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class PackageBasicInfo { - - private String provider; - - private EnumType type; - - private String version; - - private String format; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/CsarFileUriResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/CsarFileUriResponse.java deleted file mode 100644 index a9e1b0c6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/CsarFileUriResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity.response; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CsarFileUriResponse { - - private String downloadUri; - - private String localPath; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/PackageMeta.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/PackageMeta.java deleted file mode 100644 index aba10a1d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/PackageMeta.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity.response; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import org.openo.commontosca.catalog.entity.EnumOperationalState; -import org.openo.commontosca.catalog.entity.EnumProcessState; -import org.openo.commontosca.catalog.entity.EnumUsageState; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class PackageMeta { - - private String csarId; - - private String name; - - private String downloadUri; - - private String size; - - private String version; - - private String provider; - - private String type; - - private String format; - - private boolean deletionPending; - - private String createTime; - - private String modifyTime; - - private EnumOperationalState operationalState; - - private EnumUsageState usageState; - - private String onBoardState; - - private EnumProcessState processState; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/UploadPackageResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/UploadPackageResponse.java deleted file mode 100644 index d1ec09bf..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/entity/response/UploadPackageResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.entity.response; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class UploadPackageResponse { - - private String csarId; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ApiRouteInfo.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ApiRouteInfo.java deleted file mode 100644 index d98af250..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ApiRouteInfo.java +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Copyright 2016 [ZTE] and others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.externalservice.msb; - -import java.io.Serializable; - -public class ApiRouteInfo implements Serializable { - private static final long serialVersionUID = 1L; - private String serviceName; - private String version = ""; - private String url; - private String apiJson = ""; - private String apiJsonType = "1"; - private String metricsUrl = ""; - private String control = "0"; - private String status = "1"; - - private RouteServer []servers; - - - public String getServiceName() { - return serviceName; - } - - public void setServiceName(String serviceName) { - this.serviceName = serviceName; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getApiJson() { - return apiJson; - } - - public void setApiJson(String apiJson) { - this.apiJson = apiJson; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public RouteServer[] getServers() { - return servers; - } - - public void setServers(RouteServer[] servers) { - this.servers = servers; - } - - public String getApiJsonType() { - return apiJsonType; - } - - public void setApiJsonType(String apiJsonType) { - this.apiJsonType = apiJsonType; - } - - public String getMetricsUrl() { - return metricsUrl; - } - - public void setMetricsUrl(String metricsUrl) { - this.metricsUrl = metricsUrl; - } - - public String getControl() { - return control; - } - - public void setControl(String control) { - this.control = control; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusConsumer.java deleted file mode 100644 index 6732d6e5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusConsumer.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.externalservice.msb; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; -import org.glassfish.jersey.client.ClientConfig; - -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.db.util.CatalogDbUtil; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class MicroserviceBusConsumer { - private static final Logger LOG = LoggerFactory.getLogger(MicroserviceBusConsumer.class); - - /** - * register service to MSB. - * - * @param entity ServiceRegisterEntity - * @return boolean - */ - public static boolean registerService(ServiceRegisterEntity entity) { - ClientConfig config = new ClientConfig(); - LOG.info("microservice register body:" + CatalogDbUtil.objectToString(entity)); - try { - MicroserviceBusRest resourceserviceproxy = ConsumerFactory.createConsumer( - Config.getConfigration().getMsbServerAddr(), config, MicroserviceBusRest.class); - resourceserviceproxy.registerServce("false", entity); - } catch (Exception e1) { - LOG.error("microservice register failed!" + e1.getMessage()); - return false; - } - return true; - } - - public static ApiRouteInfo queryApiRouteInfo(String serviceName, String version) { - ClientConfig config = new ClientConfig(); - LOG.info("microservice register body:" + "serviceName:" + serviceName + " version:" + version); - ApiRouteInfo apiRouteInfo = null; - try { - MicroserviceBusRest resourceserviceproxy = ConsumerFactory.createConsumer( - Config.getConfigration().getMsbServerAddr(), config, MicroserviceBusRest.class); - apiRouteInfo = resourceserviceproxy.queryApiRouteInfo(serviceName, version); - } catch (Exception e1) { - LOG.error("query api route failed!" + e1.getMessage()); - - } - return apiRouteInfo; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusRest.java deleted file mode 100644 index 51a5971d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/MicroserviceBusRest.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.externalservice.msb; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -@Path("/openoapi/microservices/v1/services") -// @Path("/api/microservices/v1/services") -public interface MicroserviceBusRest { - @Path("") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public ServiceRegisterEntity registerServce(@QueryParam("createOrUpdate") String createOrUpdate, - ServiceRegisterEntity entity) throws Exception; - - @Path("") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public ApiRouteInfo queryApiRouteInfo(@PathParam("serviceName") String serviceName, - @PathParam("version") String version ) throws Exception; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/RouteServer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/RouteServer.java deleted file mode 100644 index 8aa22a0d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/RouteServer.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright 2016 [ZTE] and others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.openo.commontosca.catalog.externalservice.msb; - -import java.io.Serializable; - -public class RouteServer implements Serializable { - private static final long serialVersionUID = 1L; - private String ip; - private int weight; - - public String getIp() { - return ip; - } - - public void setIp(String ip) { - this.ip = ip; - } - - - - public int getWeight() { - return weight; - } - - public void setWeight(int weight) { - this.weight = weight; - } - - public RouteServer() { - - } - - public RouteServer(String ip) { - this.ip = ip; - this.weight = 0; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceNode.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceNode.java deleted file mode 100644 index 55195e8e..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceNode.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.externalservice.msb; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class ServiceNode { - private String ip; - private String port; - private int ttl; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceRegisterEntity.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceRegisterEntity.java deleted file mode 100644 index 7732437a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/externalservice/msb/ServiceRegisterEntity.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.externalservice.msb; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.ArrayList; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class ServiceRegisterEntity { - private String serviceName; - private String version; - private String url; - private String protocol; - private String visualRange; - private ArrayList nodes = new ArrayList(); - - /** - * set single node. - * @param ip ip - * @param port port - * @param ttl ttl - */ - public void setSingleNode(String ip, String port, int ttl) { - ServiceNode node = new ServiceNode(); - if (ip != null && ip.length() > 0) { - node.setIp(ip); - } else { - node.setIp(null); - } - node.setPort(port); - node.setTtl(ttl); - nodes.add(node); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManager.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManager.java deleted file mode 100644 index 1965ee01..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManager.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.filemanage; - - -public interface FileManager { - - /** - * package upload api. - * @param srcPath source path - * @param dstPath/packageType/provider/packageName/version - * @return boolean - */ - boolean upload(String srcPath, String dstPath); - - boolean download(String srcPath, String dstPath); - - boolean delete(String srcPath); - - //ArrayList queryWorkFlow(String path); - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerFactory.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerFactory.java deleted file mode 100644 index 8030ea92..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerFactory.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.filemanage; - -import org.openo.commontosca.catalog.filemanage.http.HttpFileManagerImpl; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class FileManagerFactory { - private static final Logger logger = LoggerFactory.getLogger(FileManagerFactory.class); - - private static FileManager getHttpFileManager() { - return new HttpFileManagerImpl(); - } - - /** - * create file manager. - * @return FileManager - */ - public static FileManager createFileManager() { - switch (getType()) { - case http: - return getHttpFileManager(); - case ftp: - return null; - default: - return getHttpFileManager(); - } - } - - private static FileManagerType getType() { - String type = System.getenv("useFtp"); - logger.info("read environment varibale uesFtp:" + type); - if (type != null && "true".equals(type)) { - return FileManagerType.ftp; - } else { - return FileManagerType.http; - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerType.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerType.java deleted file mode 100644 index f238e438..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/FileManagerType.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.filemanage; - -public enum FileManagerType { - ftp, http; - public static FileManagerType getType(String type) { - return valueOf(type); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/HttpFileManagerImpl.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/HttpFileManagerImpl.java deleted file mode 100644 index 0d3df052..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/HttpFileManagerImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.filemanage.http; - -import org.openo.commontosca.catalog.filemanage.FileManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - - -public class HttpFileManagerImpl implements FileManager { - private static final Logger LOGGER = LoggerFactory.getLogger(HttpFileManagerImpl.class); - - @Override - public boolean upload(String srcPath, String dstPath) { - boolean flag = true; - LOGGER.info("start upload file.srcPath:" + srcPath + " dstPath" + dstPath); - File srcFile = new File(srcPath); - if (!srcFile.exists()) { - LOGGER.error("src file not exist!"); - return false; - } - // File dstFile = new File(ToolUtil.getHttpServerPath() + dstPath); - // LOGGER.info("dstFile AbsolutePath:" + dstFile.getAbsolutePath()); - String targetDir = ToolUtil.getHttpServerAbsolutePath() + dstPath; - try { - ToolUtil.copyDirectory(srcPath, targetDir, true); - } catch (IOException e1) { - flag = false; - LOGGER.error("copy file failed.errorMsg:" + e1.getMessage()); - } - LOGGER.info("upload file success!"); - return flag; - } - - @Override - public boolean download(String srcPath, String dstPath) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean delete(String srcPath) { - boolean flag = true; - LOGGER.info("start delete file from http server.srcPath:" + srcPath); - flag = ToolUtil.deleteDir(new File(ToolUtil.getHttpServerAbsolutePath() + srcPath)); - LOGGER.info("delete file from http server end.flag:" + flag); - return flag; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/ToolUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/ToolUtil.java deleted file mode 100644 index d2fd8393..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/filemanage/http/ToolUtil.java +++ /dev/null @@ -1,193 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.filemanage.http; - -import org.openo.commontosca.catalog.common.HttpServerPathConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - - -public class ToolUtil { - private static final Logger LOGGER = LoggerFactory.getLogger(ToolUtil.class); - - /** - * copy from directory. - * @param srcDirName source directory name - * @param destDirName destination directory name - * @param overlay overwrite or not - * @return boolean - * @throws IOException e - */ - public static boolean copyDirectory(String srcDirName, String destDirName, boolean overlay) - throws IOException { - File srcDir = new File(srcDirName); - if (!srcDir.exists()) { - return false; - } else if (!srcDir.isDirectory()) { - return false; - } - - if (!destDirName.endsWith(File.separator)) { - destDirName = destDirName + File.separator; - } - File destDir = new File(destDirName); - if (destDir.exists()) { - if (overlay) { - new File(destDirName).delete(); - } else { - return false; - } - } else { - if (!destDir.mkdirs()) { - return false; - } - } - boolean flag = true; - File[] files = srcDir.listFiles(); - for (int i = 0; i < files.length; i++) { - if (files[i].isFile()) { - flag = copyFile(files[i].getAbsolutePath(), destDirName + files[i].getName(), true); - if (!flag) { - break; - } - } else if (files[i].isDirectory()) { - flag = copyDirectory(files[i].getAbsolutePath(), destDirName + files[i].getName(), overlay); - if (!flag) { - break; - } - } - } - if (!flag) { - String message = "Copy catagory " + srcDirName + " to " + destDirName + " failed!"; - LOGGER.error(message); - return false; - } else { - return true; - } - } - - /** - * copy file. - * @param srcFileName source file name - * @param destFileName target file name - * @param overlay overwrite or not - * @return boolean - */ - public static boolean copyFile(String srcFileName, String destFileName, boolean overlay) { - File srcFile = new File(srcFileName); - - if (!srcFile.exists()) { - String message = "Source file : " + srcFileName + " not exist !"; - LOGGER.error(message); - return false; - } else if (!srcFile.isFile()) { - return false; - } - - File destFile = new File(destFileName); - if (destFile.exists()) { - if (overlay) { - new File(destFileName).delete(); - } - } else { - if (!destFile.getParentFile().exists()) { - if (!destFile.getParentFile().mkdirs()) { - return false; - } - } - } - - int byteread = 0; - InputStream in = null; - OutputStream out = null; - - try { - in = new FileInputStream(srcFile); - out = new FileOutputStream(destFile); - byte[] buffer = new byte[1024]; - - while ((byteread = in.read(buffer)) != -1) { - out.write(buffer, 0, byteread); - } - return true; - } catch (FileNotFoundException e1) { - return false; - } catch (IOException e1) { - return false; - } finally { - try { - if (out != null) { - out.close(); - } - if (in != null) { - in.close(); - } - } catch (IOException e1) { - e1.printStackTrace(); - } - } - } - - /** - * create directory. - * @param destDirName target directory name - * @return boolean - */ - public static boolean createDir(String destDirName) { - File dir = new File(destDirName); - if (dir.exists()) { - dir.delete(); - } - if (!destDirName.endsWith(File.separator)) { - destDirName = destDirName + File.separator; - } - if (dir.mkdirs()) { - return true; - } else { - return false; - } - } - - public static String getHttpServerAbsolutePath() { - return Class.class.getClass().getResource("/").getPath() + HttpServerPathConfig.getHttpServerPath(); - } - - /** - * delete directory. - * @param dir file to delete - * @return boolean - */ - public static boolean deleteDir(File dir) { - if (dir.isDirectory()) { - String[] children = dir.list(); - for (int i = 0; i < children.length; i++) { - boolean success = deleteDir(new File(dir, children[i])); - if (!success) { - return false; - } - } - } - return dir.delete(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/Ftp.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/Ftp.java deleted file mode 100644 index 4318dcc5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/Ftp.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.ftp; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class Ftp { - - private String ipAddr; - - private Integer port; - - private String userName; - - private String pwd; - - private String path; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/FtpUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/FtpUtil.java deleted file mode 100644 index 933871ae..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/ftp/FtpUtil.java +++ /dev/null @@ -1,206 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.ftp; - -import org.apache.commons.net.ftp.FTPClient; -import org.apache.commons.net.ftp.FTPFile; -import org.apache.commons.net.ftp.FTPReply; -import org.apache.log4j.Logger; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -public class FtpUtil { - - private static Logger logger = Logger.getLogger(FtpUtil.class); - - private static FTPClient ftp; - - /** - * get ftp connection. - * - * @param conftp Ftp - * @return boolean - * @throws Exception e - */ - public static boolean connectFtp(Ftp conftp) throws Exception { - ftp = new FTPClient(); - boolean flag = false; - if (conftp.getPort() == null) { - ftp.connect(conftp.getIpAddr(), 21); - } else { - ftp.connect(conftp.getIpAddr(), conftp.getPort()); - } - ftp.login(conftp.getUserName(), conftp.getPwd()); - ftp.setFileType(FTPClient.BINARY_FILE_TYPE); - int reply = ftp.getReplyCode(); - if (!FTPReply.isPositiveCompletion(reply)) { - ftp.disconnect(); - return flag; - } - ftp.changeWorkingDirectory(conftp.getPath()); - flag = true; - return flag; - } - - /** - * close ftp connection. - */ - public static void closeFtp() { - if (ftp != null && ftp.isConnected()) { - try { - ftp.logout(); - ftp.disconnect(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - } - - /** - * upload file by ftp. - * - * @param file file to upload - * @throws Exception e - */ - public static void upload(File file) throws Exception { - if (file.isDirectory()) { - ftp.makeDirectory(file.getName()); - ftp.changeWorkingDirectory(file.getName()); - String[] files = file.list(); - for (String fstr : files) { - File file1 = new File(file.getPath() + "/" + fstr); - if (file1.isDirectory()) { - upload(file1); - ftp.changeToParentDirectory(); - } else { - File file2 = new File(file.getPath() + "/" + fstr); - FileInputStream input = new FileInputStream(file2); - ftp.storeFile(file2.getName(), input); - input.close(); - } - } - } else { - File file2 = new File(file.getPath()); - FileInputStream input = new FileInputStream(file2); - ftp.storeFile(file2.getName(), input); - input.close(); - } - } - - /** - * download inline config. - * - * @param downftp ftp to download - * @param localBaseDir local directory - * @param remoteBaseDir remote directory - * @throws Exception e - */ - public static void startDown(Ftp downftp, String localBaseDir, String remoteBaseDir) - throws Exception { - if (FtpUtil.connectFtp(downftp)) { - - try { - FTPFile[] files = null; - boolean changedir = ftp.changeWorkingDirectory(remoteBaseDir); - if (changedir) { - ftp.setControlEncoding("GBK"); - files = ftp.listFiles(); - for (int i = 0; i < files.length; i++) { - try { - downloadFile(files[i], localBaseDir, remoteBaseDir); - } catch (Exception e1) { - logger.error(e1); - logger.error("<" + files[i].getName() + ">download failed"); - } - } - } - } catch (Exception e1) { - logger.error(e1); - logger.error("error occoured while download"); - } - } else { - logger.error("Connect failed !"); - } - - } - - - /** - * download ftp file. - * - * @param ftpFile ftp file to download - * @param relativeLocalPath relative local path - * @param relativeRemotePath relative remote path - */ - private static void downloadFile(FTPFile ftpFile, String relativeLocalPath, - String relativeRemotePath) { - if (ftpFile.isFile()) { - if (ftpFile.getName().indexOf("?") == -1) { - OutputStream outputStream = null; - try { - File locaFile = new File(relativeLocalPath + ftpFile.getName()); - if (locaFile.exists()) { - return; - } else { - outputStream = new FileOutputStream(relativeLocalPath + ftpFile.getName()); - ftp.retrieveFile(ftpFile.getName(), outputStream); - outputStream.flush(); - outputStream.close(); - } - } catch (Exception e1) { - logger.error(e1); - } finally { - try { - if (outputStream != null) { - outputStream.close(); - } - } catch (IOException e1) { - logger.error("OutputStream error !"); - } - } - } - } else { - String newlocalRelatePath = relativeLocalPath + ftpFile.getName(); - String newRemote = new String(relativeRemotePath + ftpFile.getName().toString()); - File fl = new File(newlocalRelatePath); - if (!fl.exists()) { - fl.mkdirs(); - } - try { - newlocalRelatePath = newlocalRelatePath + '/'; - newRemote = newRemote + "/"; - String currentWorkDir = ftpFile.getName().toString(); - boolean changedir = ftp.changeWorkingDirectory(currentWorkDir); - if (changedir) { - FTPFile[] files = null; - files = ftp.listFiles(); - for (int i = 0; i < files.length; i++) { - downloadFile(files[i], newlocalRelatePath, newRemote); - } - } - if (changedir) { - ftp.changeToParentDirectory(); - } - } catch (Exception e1) { - logger.error(e1); - } - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/health/ConsoleHealthCheck.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/health/ConsoleHealthCheck.java deleted file mode 100644 index ed3fb5e6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/health/ConsoleHealthCheck.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.health; - -import com.codahale.metrics.health.HealthCheck; - -public class ConsoleHealthCheck extends HealthCheck { - private final String template; - - public ConsoleHealthCheck(String template) { - this.template = template; - } - - @Override - protected Result check() throws Exception { - final String saying = String.format(template, "TEST"); - if (!saying.contains("TEST")) { - return Result.unhealthy("template doesn't include a name"); - } - return Result.healthy(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaNodeTypeDefinition.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaNodeTypeDefinition.java deleted file mode 100644 index 3c341094..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaNodeTypeDefinition.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.common; - -public enum EnumToscaNodeTypeDefinition { - VNF { - @Override - public String getName() { - return "tosca.nodes.nfv.VNF"; - } - }, - VDU { - @Override - public String getName() { - return "tosca.nodes.nfv.VDU"; - } - }, - VNFC { - @Override - public String getName() { - return "tosca.nodes.nfv.VNFC"; - } - }, - VL { - @Override - public String getName() { - return "tosca.nodes.nfv.VL"; - } - }, - CP { - @Override - public String getName() { - return "tosca.nodes.nfv.CP"; - } - }; - - public abstract String getName(); - - /** - * judge wether is tosca node type definition or not. - * @param type node type - * @return boolean - */ - public static boolean isToscaNodeTypeDef(String type) { - for (EnumToscaNodeTypeDefinition enumDef : EnumToscaNodeTypeDefinition.values()) { - if (type.indexOf(enumDef.getName()) != -1) { - return true; - } - } - return false; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaRelationShipDefinition.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaRelationShipDefinition.java deleted file mode 100644 index d1d26cef..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/EnumToscaRelationShipDefinition.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.common; - -public enum EnumToscaRelationShipDefinition { - VirtualBindsTo { - @Override - public String getName() { - return "tosca.relationships.nfv.VirtualBindsTo"; - } - }, - VirtualLinksTo { - @Override - public String getName() { - return "tosca.relationships.nfv.VirtualLinksTo"; - } - }, - DeployedOn { - @Override - public String getName() { - return "tosca.relationships.nfv.DeployedOn"; - } - }, - BelongTo { - @Override - public String getName() { - return "tosca.relationships.nfv.BelongTo"; - } - }; - - public abstract String getName(); - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateDataHelper.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateDataHelper.java deleted file mode 100644 index a26a32bc..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateDataHelper.java +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.common; - -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.openo.commontosca.catalog.db.entity.TemplateData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.TemplateManager; -import org.openo.commontosca.catalog.entity.response.CsarFileUriResponse; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.Parameters; -import org.openo.commontosca.catalog.model.entity.RelationShip; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.entity.SubstitutionMapping; -import org.openo.commontosca.catalog.wrapper.PackageWrapper; - -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -public class TemplateDataHelper { - - /** - * convert to template data. - * @param st ServiceTemplate - * @param ntList NodeTemplate list - * @return TemplateData - */ - public static TemplateData convert2TemplateData(ServiceTemplate st, String rawData, - List ntList) { - TemplateData td = new TemplateData(); - td.setServiceTemplate(convert2ServiceTemplateData(st, rawData)); - td.setNodeTemplates(convert2NodeTemplateDataList(ntList, st.getServiceTemplateId())); - return td; - } - - /** - * convert to service template data. - * @param st ServiceTemplate - * @return ServiceTemplateData - */ - private static ServiceTemplateData convert2ServiceTemplateData(ServiceTemplate st, - String rawData) { - ServiceTemplateData std = new ServiceTemplateData(); - std.setServiceTemplateId(st.getServiceTemplateId()); - std.setServiceTemplateOriginalId(st.getId()); - std.setTemplateName(st.getTemplateName()); - std.setVendor(st.getVendor()); - std.setVersion(st.getVersion()); - std.setCsarId(st.getCsarId()); - std.setType(st.getType()); - std.setDownloadUri(st.getDownloadUri()); - Parameters parameters = new Parameters(st.getInputs(), st.getOutputs()); - std.setInputs(ToolUtil.toJson(parameters)); - std.setOperations(ToolUtil.toJson(st.getOperations())); - std.setRowData(rawData); - return std; - } - - /** - * convert to nodeTemplate data list. - * @param ntList NodeTemplate list - * @param serviceTemplateId service template id - * @return NodeTemplateData list - */ - private static ArrayList convert2NodeTemplateDataList(List ntList, - String serviceTemplateId) { - ArrayList ntdList = new ArrayList<>(); - for (NodeTemplate nt : ntList) { - ntdList.add(convert2NodeTemplateData(nt, serviceTemplateId)); - - } - return ntdList; - } - - - /** - * convert to nodeTemplate data. - * @param nt NodeTemplate - * @param serviceTemplateId service template id - * @return NodeTemplateData - */ - private static NodeTemplateData convert2NodeTemplateData(NodeTemplate nt, - String serviceTemplateId) { - NodeTemplateData ntd = new NodeTemplateData(); - - ntd.setNodeTemplateId(nt.getId()); - ntd.setName(nt.getName()); - ntd.setType(nt.getType()); - ntd.setServiceTemplateId(serviceTemplateId); - ntd.setProperties(ToolUtil.toJson(nt.getProperties())); - ntd.setRelationShips(ToolUtil.toJson(nt.getRelationShips())); - - return ntd; - } - - - /** - * convert to service templates. - * @param stdList ServiceTemplateData list - * @return ServiceTemplate list - * @throws CatalogResourceException - */ - public static ServiceTemplate[] convert2ServiceTemplates(List stdList) throws CatalogResourceException { - List stList = new ArrayList<>(); - for (ServiceTemplateData std : stdList) { - stList.add(convert2ServiceTemplate(std)); - } - - return stList.toArray(new ServiceTemplate[0]); - } - - /** - * covert to service template. - * @param std ServiceTemplateData - * @return ServiceTemplate - * @throws CatalogResourceException - */ - public static ServiceTemplate convert2ServiceTemplate(ServiceTemplateData std) throws CatalogResourceException { - Parameters parameters = ToolUtil.fromJson(std.getInputs(), Parameters.class); - ServiceTemplateOperation[] operations = - ToolUtil.fromJson(std.getOperations(), ServiceTemplateOperation[].class); - String downloadUri = buildSTDownloadUri(std.getCsarId(), std.getDownloadUri()); - - return new ServiceTemplate(std.getServiceTemplateId(), std.getServiceTemplateOriginalId(), - std.getTemplateName(), std.getVendor(), - std.getVersion(), std.getCsarId(), std.getType(), downloadUri, - parameters.getInputs(), parameters.getOutputs(), operations, - getSubstitutionMappingsByServiceTemplateId(std.getServiceTemplateId())); - } - - private static SubstitutionMapping getSubstitutionMappingsByServiceTemplateId(String serviceTemplateId) - throws CatalogResourceException { - List stmDataList = - TemplateManager.getInstance().queryServiceTemplateMapping(null, serviceTemplateId); - if (stmDataList == null || stmDataList.isEmpty()) { - return null; - } - - return convert2SubstitutionMapping(stmDataList.get(0)); - } - - private static String buildSTDownloadUri(String packageId, String stFileName) - throws CatalogResourceException { - CsarFileUriResponse stDownloadUri = - PackageWrapper.getInstance().getCsarFileDownloadUri(packageId, stFileName); - return stDownloadUri.getDownloadUri(); - } - - /** - * covert to nodeTemplates. - * @param ntdList NodeTemplateData list - * @return NodeTemplate list - */ - public static NodeTemplate[] convert2NodeTemplates(List ntdList) { - List ntList = new ArrayList<>(); - for (NodeTemplateData ntd : ntdList) { - ntList.add(convert2NodeTemplate(ntd)); - } - return ntList.toArray(new NodeTemplate[0]); - } - - /** - * covert to nodeTemplate. - * @param ntd NodeTemplateData - * @return NodeTemplate - */ - public static NodeTemplate convert2NodeTemplate(NodeTemplateData ntd) { - List relationShips = convert2RelationShipList(ntd.getRelationShips()); - return new NodeTemplate(ntd.getNodeTemplateId(), ntd.getName(), ntd.getType(), - convert2Property(ntd.getProperties()), relationShips); - } - - /** - * covert to relationship list. - * @param sRelationShips relationships - * @return RelationShip list - */ - private static List convert2RelationShipList(String srelationShips) { - RelationShip[] relationShips = ToolUtil.fromJson(srelationShips, RelationShip[].class); - return Arrays.asList(relationShips); - } - - /** - * convert to propterty. - * @param properties properties to covert - * @return map - */ - private static Map convert2Property(String properties) { - JsonObject jsonObject = new Gson().fromJson(properties, JsonObject.class); - return parseMapValue(jsonObject); - } - - private static Map parseMapValue(JsonObject jsonObject) { - Map map = new HashMap<>(); - - Iterator> iterator = jsonObject.entrySet().iterator(); - while (iterator.hasNext()) { - Entry next = iterator.next(); - if (next.getValue() instanceof JsonPrimitive) { - map.put(next.getKey(), next.getValue().getAsString()); - continue; - } - - if (next.getValue() instanceof JsonObject) { - map.put(next.getKey(), parseMapValue((JsonObject) next.getValue())); - continue; - } - } - return map; - } - - - /** - * covert to template mapping data. - * @param stm data to convert - * @return ServiceTemplateMappingData - */ - public static ServiceTemplateMappingData convert2TemplateMappingData(SubstitutionMapping stm) { - ServiceTemplateMappingData stmd = new ServiceTemplateMappingData(); - - stmd.setMappingId(ToolUtil.generateId()); - stmd.setServiceTemplateId(stm.getServiceTemplateId()); - stmd.setNodeType(stm.getNodeType()); - stmd.setRequirements(ToolUtil.toJson(stm.getRequirements())); - stmd.setCapabilities(ToolUtil.toJson(stm.getCapabilities())); - - return stmd; - } - - /** - * convert to substitution mapping. - * @param stmData data to covert - * @return SubstitutionMapping - */ - public static SubstitutionMapping convert2SubstitutionMapping( - ServiceTemplateMappingData stmData) { - return new SubstitutionMapping(stmData.getServiceTemplateId(), stmData.getNodeType()); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateUtils.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateUtils.java deleted file mode 100644 index 697ca1ab..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/common/TemplateUtils.java +++ /dev/null @@ -1,197 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.common; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.Map; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.parser.yaml.yamlmodel.Input; -import org.openo.commontosca.catalog.model.parser.yaml.yamlmodel.Plan; -import org.openo.commontosca.catalog.model.parser.yaml.yamlmodel.ServiceTemplate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.esotericsoftware.yamlbeans.YamlConfig; -import com.esotericsoftware.yamlbeans.YamlException; -import com.esotericsoftware.yamlbeans.YamlReader; - -public class TemplateUtils { - private static final Logger logger = LoggerFactory.getLogger(TemplateUtils.class); - - public static Map loadPlan(String yamlString) throws CatalogResourceException { - ServiceTemplate st = loadServiceTemplate(yamlString); - return st.getPlans(); - } - - /** - * @param yamlString - * @return - * @throws CatalogResourceException - */ - public static ServiceTemplate loadServiceTemplate(String yamlString) throws CatalogResourceException { - if (yamlString == null || yamlString.isEmpty()) { - return new ServiceTemplate(); - } - final YamlReader reader = new YamlReader(yamlString); - adjustConfig(reader.getConfig()); - try { - return reader.read(ServiceTemplate.class); - } catch (final YamlException e) { - throw new CatalogResourceException("Load plan information failed.", e); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - } - } - } - } - - - /** - * @param config - */ - private static void adjustConfig(YamlConfig config) { - config.setPropertyElementType(ServiceTemplate.class, "plans", Plan.class); - config.setPropertyElementType(Plan.class, "inputs", Input.class); - } - - - /** - * @param zipFileName - * @param zipEntryName - * @return - * @throws CatalogResourceException - */ - public static String readStringFromZipFile(String zipFileName, String zipEntryName) throws CatalogResourceException { - String[] lines = readFromZipFile(zipFileName, zipEntryName); - StringBuffer sb = new StringBuffer(); - for (String line : lines) { - sb.append(line).append(System.lineSeparator()); - } - return sb.toString(); - } - - /** - * @param zipFileName - * @param zipEntryName - * @return - * @throws CatalogResourceException - */ - public static String[] readFromZipFile(String zipFileName, String zipEntryName) - throws CatalogResourceException { - ZipFile zf = null; - InputStream ins = null; - try { - zf = new ZipFile(zipFileName); - ZipEntry ze = getZipEntryZipFile(zf, zipEntryName); - - if (ze != null) { - ins = zf.getInputStream(ze); - return readFromInputStream(ins); - } - } catch (IOException e) { - throw new CatalogResourceException("readFromZipFile failed.", e); - } finally { - closeInputStream(ins); - closeZipFile(zf); - } - return new String[0]; - } - - public static ZipEntry getZipEntryZipFile(ZipFile zf, String zipEntryName) { - Enumeration zes = zf.entries(); - while (zes.hasMoreElements()) { - ZipEntry ze = (ZipEntry) zes.nextElement(); - if (zipEntryName.equals(ze.getName()) - || (zipEntryName.replaceAll("\\\\", "/")).equals(ze.getName())) { - return ze; - } - } - - return null; - } - - /** - * @param ins - */ - public static void closeInputStream(InputStream ins) { - if (ins != null) { - try { - ins.close(); - } catch (IOException e) { - logger.warn("closeInputStream failed.", e); - } - } - } - - /** - * @param zf - */ - public static void closeZipFile(ZipFile zf) { - if (zf != null) { - try { - zf.close(); - } catch (IOException e) { - logger.warn("closeZipFile failed.", e); - } - } - } - - private static String[] readFromInputStream(InputStream ins) throws CatalogResourceException { - InputStreamReader insReader = new InputStreamReader(ins); - BufferedReader reader = new BufferedReader(insReader); - - List lineList = new ArrayList<>(); - String line; - try { - while ((line = reader.readLine()) != null) { - lineList.add(line); - } - } catch (IOException e) { - throw new CatalogResourceException("readFromInputStream failed.", e); - } finally { - closeReader(reader); - closeReader(insReader); - } - - return lineList.toArray(new String[0]); - } - - /** - * @param reader - */ - private static void closeReader(Reader reader) { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - logger.warn("closeReader failed.", e); - } - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/CapReqMapping.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/CapReqMapping.java deleted file mode 100644 index 6afbd492..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/CapReqMapping.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 [ZTE] and others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author 10090474 - * - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class CapReqMapping { - private String mapped_name; - private String node_id; - private String name; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/InputParameter.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/InputParameter.java deleted file mode 100644 index b77d272f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/InputParameter.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class InputParameter { - private String name; - private String type = "string"; - private String description; - private Object defaultValue; - private boolean required; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/KeyValuePair.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/KeyValuePair.java deleted file mode 100644 index cb2acde7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/KeyValuePair.java +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class KeyValuePair { - private String key; - private String value; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NfvTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NfvTemplate.java deleted file mode 100644 index d5307c77..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NfvTemplate.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class NfvTemplate { - private List vduNodes; - private List networkNodes; - private List vnfcNodes; - private List vnfNodes; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NodeTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NodeTemplate.java deleted file mode 100644 index 03939dd7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/NodeTemplate.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; -import java.util.Map; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class NodeTemplate { - private String id; - private String name; - private String type; - private Map properties; - private List relationShips; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/OutputParameter.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/OutputParameter.java deleted file mode 100644 index 298370c2..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/OutputParameter.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class OutputParameter { - - private String name; - - private String description; - - private Object value; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/Parameters.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/Parameters.java deleted file mode 100644 index 249c2975..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/Parameters.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class Parameters { - - private InputParameter[] inputs; - - private OutputParameter[] outputs; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/QueryRawDataCondition.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/QueryRawDataCondition.java deleted file mode 100644 index a1493aa7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/QueryRawDataCondition.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class QueryRawDataCondition { - private String csarId; - private KeyValuePair[] inputParameters; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/RelationShip.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/RelationShip.java deleted file mode 100644 index 6e101802..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/RelationShip.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class RelationShip { - - private String sourceNodeName; - - private String targetNodeName; - - private String sourceNodeId; - - private String targetNodeId; - - private String type; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplate.java deleted file mode 100644 index 6f5dfb3a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplate.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class ServiceTemplate { - - private String serviceTemplateId; - - private String id; - - private String templateName; - - private String vendor; - - private String version; - - private String csarId; - - private String type; - - private String downloadUri; - - private InputParameter[] inputs; - - private OutputParameter[] outputs; - - private ServiceTemplateOperation[] operations; - - private SubstitutionMapping substitution; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateOperation.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateOperation.java deleted file mode 100644 index 510a1592..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateOperation.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class ServiceTemplateOperation { - - private String name; - - private String description; - - private String packageName; - - private String processId; - - private InputParameter[] inputs; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateRawData.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateRawData.java deleted file mode 100644 index 505444d6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/ServiceTemplateRawData.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class ServiceTemplateRawData { - - private String rawData; - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/SubstitutionMapping.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/SubstitutionMapping.java deleted file mode 100644 index 2f34a4a9..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/entity/SubstitutionMapping.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import com.fasterxml.jackson.annotation.JsonIgnore; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class SubstitutionMapping { - @JsonIgnore - private String serviceTemplateId; - private String nodeType; - private CapReqMapping[] requirements; - private CapReqMapping[] capabilities; - - /** - * substitution mapping. - * @param serviceTemplateId service template id - * @param nodeType node type - */ - public SubstitutionMapping(String serviceTemplateId, String nodeType) { - super(); - this.serviceTemplateId = serviceTemplateId; - this.nodeType = nodeType; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerSelfServiceProvider.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerSelfServiceProvider.java deleted file mode 100644 index e6690920..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerSelfServiceProvider.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerSelfService; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; - - - - -/** - * The opentosca container self service returns data to the entity. - * - * @author 10189609 - * - */ -public class ContainerSelfServiceProvider implements MessageBodyReader { - - @Override - public boolean isReadable(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType) { - return ContainerSelfService.class.isAssignableFrom(type); - } - - @Override - public ContainerSelfService readFrom(Class type, Type genericType, - Annotation[] annotations, MediaType mediaType, MultivaluedMap httpHeaders, - InputStream entityStream) throws IOException, WebApplicationException { - ContainerSelfService object = null; - - try { - JAXBContext jaxbContext = JAXBContext.newInstance(ContainerSelfService.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - object = (ContainerSelfService) unmarshaller.unmarshal(entityStream); - } catch (JAXBException e1) { - e1.printStackTrace(); - } - - return object; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceConsumer.java deleted file mode 100644 index da809fb7..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceConsumer.java +++ /dev/null @@ -1,228 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import com.google.gson.JsonObject; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; - -import org.glassfish.jersey.client.ClientConfig; -import org.glassfish.jersey.media.multipart.BodyPart; -import org.glassfish.jersey.media.multipart.FormDataBodyPart; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataMultiPart; -import org.glassfish.jersey.media.multipart.MultiPartFeature; -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerSelfService; -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerSelfServiceOption; -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceNodeTemplateList; -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceTemplateList; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.InputStream; -import java.util.List; - -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - - - -/** - * By rest requesting access container services. - * - * @author 10189609 - * - */ -public class ContainerServiceConsumer { - private static final Logger LOG = LoggerFactory.getLogger(ContainerServiceConsumer.class); - - /** - * get service template by template id from container service. - * - * @param templateid id - * @return template list entity - */ - public static ContainerServiceTemplateList getServiceTemplates(final String templateid) { - ClientConfig config = new ClientConfig(new ContainerServiceTemplateProvider()); - IContainerTemplateRest containerservicetemplateproxy = - ConsumerFactory.createConsumer(getBaseUrl(), config, IContainerTemplateRest.class); - return containerservicetemplateproxy.getToscaServiceTemplate(templateid); - } - - /** - * get operation input param xml from container service. - * - * @param csarId package Id - * @param operationId operation id - * @return xml - */ - public static String getOperationInputParamXml(final String csarId, final String operationId) { - String inputparamsSoapXml = null; - ClientConfig config = new ClientConfig().register(new ContainerSelfServiceProvider()); - IContainerSelfServiceRest containerserviceoperationproxy = - ConsumerFactory.createConsumer(getPackageUrl(), config, IContainerSelfServiceRest.class); - String csarid = ToolUtil.formatCsar(csarId); - ContainerSelfService containerselfservice = - containerserviceoperationproxy.getContainerSelfService(csarid); - if (containerselfservice != null) { - for (int i = 0; i < containerselfservice.getOptionList().size(); i++) { - ContainerSelfServiceOption serviceOption = containerselfservice.getOptionList().get(i); - if (serviceOption != null && operationId.equals(serviceOption.getId())) { - inputparamsSoapXml = - containerserviceoperationproxy.getContainerSelfServiceOptionInputMessage(csarid, - serviceOption.getPlanInputMessageUrl()); - break; - } - } - } - return inputparamsSoapXml; - } - - /** - * get operations by csar id. - * - * @param csarId package id - * @return xml - */ - public static String getOperations(final String csarId) { - ClientConfig config = new ClientConfig().register(new ContainerSelfServiceProvider()); - IContainerSelfServiceRest containerselfserviceproxy = - ConsumerFactory.createConsumer(getPackageUrl(), config, IContainerSelfServiceRest.class); - return containerselfserviceproxy.getContainerSelfServiceXml(ToolUtil.formatCsar(csarId)); - } - - /** - * get operation list. - * @param csarId package id - * @return container operation list - */ - public static List getOperationList(final String csarId) { - ClientConfig config = new ClientConfig().register(new ContainerSelfServiceProvider()); - IContainerSelfServiceRest containerserviceoperationproxy = - ConsumerFactory.createConsumer(getPackageUrl(), config, IContainerSelfServiceRest.class); - String csarid = ToolUtil.formatCsar(csarId); - ContainerSelfService containerselfservice = - containerserviceoperationproxy.getContainerSelfService(csarid); - return containerselfservice.getOptionList(); - } - - /** - * upload csar package to opentosca containerapi service. - * - * @param uploadedInputStream stream - * @param fileDetail file detail - * @return response - */ - public static Response uploadServicePackage(InputStream uploadedInputStream, - FormDataContentDisposition fileDetail) { - final FormDataMultiPart formData = new FormDataMultiPart(); - final BodyPart bodyPart = - new FormDataBodyPart(fileDetail, uploadedInputStream, - MediaType.APPLICATION_OCTET_STREAM_TYPE); - formData.bodyPart(bodyPart); - formData.setContentDisposition(fileDetail); - formData.setMediaType(MediaType.MULTIPART_FORM_DATA_TYPE); - final Client client = ClientBuilder.newBuilder().register(MultiPartFeature.class).build(); - final WebTarget target = client.target(getPackageUrl()).path("/containerapi/CSARs"); - final Response response = - target.request().post(Entity.entity(formData, formData.getMediaType())); - return response; - } - - /** - * upload csar package by file location. - * - * @param fileLocation file location - * @return response - */ - public static Response uploadServicePackageByLocation(String fileLocation) { - ClientConfig config = new ClientConfig(); - IContainerExtPackageRest containerservicepackageproxy = - ConsumerFactory.createConsumer(getBaseUrl(), config, IContainerExtPackageRest.class); - String result = containerservicepackageproxy.uploadPackageByToscaService(fileLocation); - JsonObject json = new JsonObject(); - json.addProperty("result", result); - return Response.ok(json.toString()).build(); - } - - /** - * delete a csar package by csar name. - * - * @param csarName package name - * @return package id which deleted - */ - public static String delServicePackage(final String csarName) { - ClientConfig config = new ClientConfig(); - IContainerExtPackageRest containerservicepackageproxy = - ConsumerFactory.createConsumer(getBaseUrl(), config, IContainerExtPackageRest.class); - LOG.info("url:" + getBaseUrl() + " csarName:" + csarName); - return containerservicepackageproxy.deletePackageById(csarName); - } - - /** - * get node template list. - * - * @param templateId template id - * @return container service nodeTemplate list - */ - public static ContainerServiceNodeTemplateList getNodeTemplates(final String templateId) { - ClientConfig config = new ClientConfig(new ContainerServiceNodeTemplateProvider()); - IContainerTemplateRest containertemplateproxy = - ConsumerFactory.createConsumer(getBaseUrl(), config, IContainerTemplateRest.class); - return containertemplateproxy.getToscaServiceNodeTemplates(templateId); - } - - /** - * get policy infomation by service template id from vnfd. - * - * @param serviceTemplateId service template id - * @return tosca policys - */ - public static String getPolicys(String serviceTemplateId) { - ClientConfig config = new ClientConfig(new StringProvider()); - IContainerPortabilityRest containerPolicyproxy = - ConsumerFactory.createConsumer(getBaseUrl(), config, IContainerPortabilityRest.class); - return containerPolicyproxy.getToscaPolicys(serviceTemplateId); - } - - /** - * http://127.0.0.1:1337/containerapi/extension. - * - * @return base url - */ - private static String getBaseUrl() { - StringBuffer buffer = new StringBuffer(); - buffer.append(Config.getConfigration().getMsbServerAddr() + "/containerapi/extension"); - return buffer.toString(); - } - - /** - * http://127.0.0.1:1337 - * - * @return package url - */ - private static String getPackageUrl() { - StringBuffer buffer = new StringBuffer(); - buffer.append(Config.getConfigration().getMsbServerAddr()); - return buffer.toString(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceNodeTemplateProvider.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceNodeTemplateProvider.java deleted file mode 100644 index f2593d49..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceNodeTemplateProvider.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceNodeTemplateList; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; -import org.xml.sax.helpers.XMLReaderFactory; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.transform.Source; -import javax.xml.transform.sax.SAXSource; - -/** - * The opentosca container service returns data to the node template entity. - * - * @author 10189609 - * - */ -public class ContainerServiceNodeTemplateProvider implements - MessageBodyReader { - - @Override - public boolean isReadable(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType) { - return ContainerServiceNodeTemplateList.class.isAssignableFrom(type); - } - - @Override - public ContainerServiceNodeTemplateList readFrom(Class type, - Type genericType, Annotation[] annotations, MediaType mediaType, - MultivaluedMap httpHeaders, InputStream entityStream) throws IOException, - WebApplicationException { - ContainerServiceNodeTemplateList nodetemplatelist = null; - - try { - JAXBContext jaxbContext = JAXBContext.newInstance(ContainerServiceNodeTemplateList.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - // ignore namespace - NamespaceFilter inFilter = new NamespaceFilter(null, false); - XMLReader reader = XMLReaderFactory.createXMLReader(); - inFilter.setParent(reader); - Source source = new SAXSource(inFilter, new InputSource(entityStream)); - - nodetemplatelist = (ContainerServiceNodeTemplateList) unmarshaller.unmarshal(source); - } catch (Exception e1) { - e1.printStackTrace(); - } - - return nodetemplatelist; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServicePackageProvider.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServicePackageProvider.java deleted file mode 100644 index c0cf0f7d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServicePackageProvider.java +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServicePackageList; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; - - - -/** - * The opentosca container service returns data to the package entity. - * - * @author 10189609 - * - */ -public class ContainerServicePackageProvider implements - MessageBodyReader { - - @Override - public boolean isReadable(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType) { - return ContainerServicePackageList.class.isAssignableFrom(type); - } - - @Override - public ContainerServicePackageList readFrom(Class type, - Type genericType, Annotation[] annotations, MediaType mediaType, - MultivaluedMap httpHeaders, InputStream entityStream) throws IOException, - WebApplicationException { - ContainerServicePackageList packageList = null; - - try { - JAXBContext jaxbContext = JAXBContext.newInstance(ContainerServicePackageList.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - packageList = (ContainerServicePackageList) unmarshaller.unmarshal(entityStream); - } catch (JAXBException e1) { - e1.printStackTrace(); - } - - return packageList; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceTemplateProvider.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceTemplateProvider.java deleted file mode 100644 index bfd1b04a..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/ContainerServiceTemplateProvider.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceTemplateList; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; - - -/** - * The opentosca container self service returns data to the service template entity. - * - * @author 10189609 - * - */ -public class ContainerServiceTemplateProvider implements - MessageBodyReader { - - @Override - public boolean isReadable(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType) { - return ContainerServiceTemplateList.class.isAssignableFrom(type); - } - - @Override - public ContainerServiceTemplateList readFrom(Class type, - Type genericType, Annotation[] annotations, MediaType mediaType, - MultivaluedMap httpHeaders, InputStream entityStream) throws IOException, - WebApplicationException { - ContainerServiceTemplateList object = null; - - try { - JAXBContext jaxbContext = JAXBContext.newInstance(ContainerServiceTemplateList.class); - Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); - object = (ContainerServiceTemplateList) jaxbUnmarshaller.unmarshal(entityStream); - } catch (JAXBException e1) { - e1.printStackTrace(); - } - - return object; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerExtPackageRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerExtPackageRest.java deleted file mode 100644 index 15823ea1..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerExtPackageRest.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServicePackageList; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -/** - * The opentosca container interface for csar. - * - * @author 10189609 - * - */ -@Path("/csars") -public interface IContainerExtPackageRest { - @GET - @Produces(MediaType.APPLICATION_OCTET_STREAM) - public ContainerServicePackageList getToscaServicePackage( - @QueryParam("csarName") String csarName); - - @POST - @Consumes(MediaType.TEXT_PLAIN) - public String uploadPackageByToscaService(@QueryParam("fileLocation") String fileLocation); - - @Path("/{csarId}") - @DELETE - public String deletePackageById(@PathParam("csarId") String csarId); -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerPortabilityRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerPortabilityRest.java deleted file mode 100644 index b864c74f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerPortabilityRest.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; - -/** - * The opentosca container interface for policy. - * - * @author 10189609 - * - */ -@Path("/servicetemplates") -public interface IContainerPortabilityRest { - - @Path("/{templateid}/policys") - @GET - String getToscaPolicys(@PathParam("templateid") String serviceTemplateId); -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerSelfServiceRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerSelfServiceRest.java deleted file mode 100644 index 9149c5b2..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerSelfServiceRest.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerSelfService; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; - - -/** - * The opentosca container interface for self service. - * - * @author 10189609 - * - */ -@Path("/containerapi/CSARs/{csarid}/Content/SELFSERVICE-Metadata") -public interface IContainerSelfServiceRest { - @GET - @Path("/data.xml") - @Produces({"application/octet-stream"}) - ContainerSelfService getContainerSelfService(@PathParam("csarid") String csarId); - - @GET - @Path("/data.xml") - @Produces({"application/octet-stream"}) - String getContainerSelfServiceXml(@PathParam("csarid") String csarId); - - @GET - @Path("/{inputmessageurl}") - @Produces({"application/octet-stream"}) - String getContainerSelfServiceOptionInputMessage(@PathParam("csarid") String csarId, - @PathParam("inputmessageurl") String inputmessageUrl); -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerTemplateRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerTemplateRest.java deleted file mode 100644 index a39840c3..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/IContainerTemplateRest.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceNodeTemplateList; -import org.openo.commontosca.catalog.model.externalservice.entity.container.ContainerServiceTemplateList; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - - -/** - * The opentosca container interface for service template. - * - * @author 10189609 - * - */ -@Path("/servicetemplates") -public interface IContainerTemplateRest { - @GET - @Produces(MediaType.APPLICATION_OCTET_STREAM) - ContainerServiceTemplateList getToscaServiceTemplate(@QueryParam("templateid") String templateId); - - @Path("/{templateid}/nodetemplates") - @GET - @Produces(MediaType.APPLICATION_OCTET_STREAM) - ContainerServiceNodeTemplateList getToscaServiceNodeTemplates( - @PathParam("templateid") String templateId); -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/NamespaceFilter.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/NamespaceFilter.java deleted file mode 100644 index ad440c4f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/NamespaceFilter.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.XMLFilterImpl; - -/** - * NamespaceFilter. - * - * @author 10189609 - * - */ -public class NamespaceFilter extends XMLFilterImpl { - - private String usedNamespaceUri; - private boolean addNamespace; - - // State variable - private boolean addedNamespace = false; - - /** - * constructor. - * @param namespaceUri namspace uri - * @param addNamespace add namespace or not - */ - public NamespaceFilter(String namespaceUri, boolean addNamespace) { - super(); - - if (addNamespace) { - this.usedNamespaceUri = namespaceUri; - } else { - this.usedNamespaceUri = ""; - } - this.addNamespace = addNamespace; - } - - - - @Override - public void startDocument() throws SAXException { - super.startDocument(); - if (addNamespace) { - startControlledPrefixMapping(); - } - } - - - - @Override - public void startElement(String arg0, String arg1, String arg2, Attributes arg3) - throws SAXException { - - super.startElement(this.usedNamespaceUri, arg1, arg2, arg3); - } - - @Override - public void endElement(String arg0, String arg1, String arg2) throws SAXException { - - super.endElement(this.usedNamespaceUri, arg1, arg2); - } - - @Override - public void startPrefixMapping(String prefix, String url) throws SAXException { - - - if (addNamespace) { - this.startControlledPrefixMapping(); - } else { - // Remove the namespace, i.e. don´t call startPrefixMapping for parent! - } - - } - - private void startControlledPrefixMapping() throws SAXException { - - if (this.addNamespace && !this.addedNamespace) { - // We should add namespace since it is set and has not yet been done. - super.startPrefixMapping("", this.usedNamespaceUri); - - // Make sure we dont do it twice - this.addedNamespace = true; - } - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/StringProvider.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/StringProvider.java deleted file mode 100644 index 085865ba..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/container/StringProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.container; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; - -/** - * The opentosca container service returns data directly. - * - * @author 10189609 - * - */ -public class StringProvider implements MessageBodyReader { - - @Override - public boolean isReadable(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType) { - return false;// false representation not convert query results , returned directly - } - - @Override - public String readFrom(Class type, Type genericType, Annotation[] annotations, - MediaType mediaType, MultivaluedMap httpHeaders, InputStream entityStream) - throws IOException, WebApplicationException { - return null; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfService.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfService.java deleted file mode 100644 index 6fd02289..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfService.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement(name = "Application", namespace = ContainerSelfService.NAMESPACE_OF_SELFSERVICE) -public class ContainerSelfService { - public static final String NAMESPACE_OF_SELFSERVICE = - "http://www.eclipse.org/winery/model/selfservice"; - - @XmlElement(namespace = NAMESPACE_OF_SELFSERVICE) - private String displayName; - - @XmlElement(namespace = NAMESPACE_OF_SELFSERVICE) - private String description; - - @XmlElement(namespace = NAMESPACE_OF_SELFSERVICE) - private String iconUrl; - - @XmlElement(namespace = NAMESPACE_OF_SELFSERVICE) - private String imageUrl; - - @XmlElementWrapper(name = "options", namespace = NAMESPACE_OF_SELFSERVICE) - @XmlElement(name = "option", namespace = NAMESPACE_OF_SELFSERVICE) - private List optionList; - - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getIconUrl() { - return iconUrl; - } - - public void setIconUrl(String iconUrl) { - this.iconUrl = iconUrl; - } - - public String getImageUrl() { - return imageUrl; - } - - public void setImageUrl(String imageUrl) { - this.imageUrl = imageUrl; - } - - public List getOptionList() { - return optionList; - } - - public void setOptionList(List optionList) { - this.optionList = optionList; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfServiceOption.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfServiceOption.java deleted file mode 100644 index 48bf9cdc..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerSelfServiceOption.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlTransient; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ContainerSelfServiceOption { - @XmlElement(namespace = ContainerSelfService.NAMESPACE_OF_SELFSERVICE) - private String description; - @XmlElement(namespace = ContainerSelfService.NAMESPACE_OF_SELFSERVICE) - private String iconUrl; - @XmlElement(namespace = ContainerSelfService.NAMESPACE_OF_SELFSERVICE) - private String planServiceName; - @XmlElement(namespace = ContainerSelfService.NAMESPACE_OF_SELFSERVICE) - private String planInputMessageUrl; - @XmlAttribute - private String id; - @XmlAttribute - private String name; - @XmlTransient - private String inputMessageSoap; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getIconUrl() { - return iconUrl; - } - - public void setIconUrl(String iconUrl) { - this.iconUrl = iconUrl; - } - - public String getPlanServiceName() { - return planServiceName; - } - - public void setPlanServiceName(String planServiceName) { - this.planServiceName = planServiceName; - } - - public String getPlanInputMessageUrl() { - return planInputMessageUrl; - } - - public void setPlanInputMessageUrl(String planInputMessageUrl) { - this.planInputMessageUrl = planInputMessageUrl; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getInputMessageSoap() { - return inputMessageSoap; - } - - public void setInputMessageSoap(String inputMessageSoap) { - this.inputMessageSoap = inputMessageSoap; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceCommonParam.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceCommonParam.java deleted file mode 100644 index 14b5191e..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceCommonParam.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ContainerServiceCommonParam { - @XmlElement - private String key; - - @XmlElement - private String value; - - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplate.java deleted file mode 100644 index 1300f82c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplate.java +++ /dev/null @@ -1,315 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import org.openo.commontosca.catalog.common.ToolUtil; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.NONE) -public class ContainerServiceNodeTemplate { - - @XmlAttribute(name = "nodetemplateid") - private String id; - - @XmlAttribute(name = "nodetemplatename") - private String name; - - @XmlAttribute - private String type; - - @XmlElementWrapper(name = "properties") - @XmlElement(name = "property") - private List properties; - - @XmlElementWrapper(name = "relationshipInfos") - @XmlElement(name = "relationship") - private List relationShips; - - @XmlElement(name = "Capabilities") - private ContainerServiceNodeTemplate.Capablitiies capabilities; - - public ContainerServiceNodeTemplate.Capablitiies getCapabilities() { - return capabilities; - } - - public void setCapabilities(ContainerServiceNodeTemplate.Capablitiies capabilities) { - this.capabilities = capabilities; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public List getProperties() { - return properties; - } - - public void setProperties(List properties) { - this.properties = properties; - } - - public List getRelationShips() { - return relationShips; - } - - public void setRelationShips(List relationShips) { - this.relationShips = relationShips; - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class Capablitiies { - @XmlElement(name = "Capability") - private List capabilityList; - - public List getCapabilityList() { - return capabilityList; - } - - public void setCapabilityList(List capabilityList) { - this.capabilityList = capabilityList; - } - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class Capability { - @XmlAttribute(name = "id") - private String flavorName; - - @XmlElement(name = "Properties") - private ContainerServiceNodeTemplate.CapabilityProperties properties; - - public String getFlavorName() { - return flavorName; - } - - public void setFlavorName(String flavorName) { - this.flavorName = flavorName; - } - - public ContainerServiceNodeTemplate.CapabilityProperties getProperties() { - return properties; - } - - public void setProperties(ContainerServiceNodeTemplate.CapabilityProperties properties) { - this.properties = properties; - } - - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class CapabilityProperties { - @XmlElement(name = "Properties") - private ContainerServiceNodeTemplate.CapabilityProperty property; - - public ContainerServiceNodeTemplate.CapabilityProperty getProperty() { - return property; - } - - public void setProperty(ContainerServiceNodeTemplate.CapabilityProperty property) { - this.property = property; - } - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.FIELD) - public static class CapabilityProperty { - @XmlElement - private String vcpu; - - @XmlElement - private String vram; - - @XmlElement - private String rootDisk; - - @XmlElement - private String swapDisk; - - @XmlElement - private String tempDisk; - - public String getVcpu() { - return vcpu; - } - - public void setVcpu(String vcpu) { - this.vcpu = vcpu; - } - - public String getVram() { - return vram; - } - - public void setVram(String vram) { - this.vram = vram; - } - - public String getRootDisk() { - return rootDisk; - } - - public void setRootDisk(String rootDisk) { - this.rootDisk = rootDisk; - } - - public String getSwapDisk() { - return swapDisk; - } - - public void setSwapDisk(String swapDisk) { - this.swapDisk = swapDisk; - } - - public String getTempDisk() { - return tempDisk; - } - - public void setTempDisk(String tempDisk) { - this.tempDisk = tempDisk; - } - } - - public class NtFlavor { - private String flavorName; - - private String vcpu; - - private String vram; - - private String rootDisk; - - private String swapDisk; - - private String tempDisk; - - public String getFlavorName() { - return flavorName; - } - - public void setFlavorName(String flavorName) { - this.flavorName = flavorName; - } - - public String getVcpu() { - return vcpu; - } - - public void setVcpu(String vcpu) { - this.vcpu = vcpu; - } - - public String getVram() { - return vram; - } - - public void setVram(String vram) { - this.vram = vram; - } - - public String getRootDisk() { - return rootDisk; - } - - public void setRootDisk(String rootDisk) { - this.rootDisk = rootDisk; - } - - public String getSwapDisk() { - return swapDisk; - } - - public void setSwapDisk(String swapDisk) { - this.swapDisk = swapDisk; - } - - public String getTempDisk() { - return tempDisk; - } - - public void setTempDisk(String tempDisk) { - this.tempDisk = tempDisk; - } - - } - - /** - * get nt flavor list. - * @return nt flavor list - */ - public List getNtFlavorList() { - if (null == this.capabilities || ToolUtil.isEmptyCollection(capabilities.getCapabilityList())) { - return null; - } - - List ntFlavors = new ArrayList(); - List capabilityList = capabilities.getCapabilityList(); - for (Capability capabilty : capabilityList) { - NtFlavor ntFlavor = convertCap2Flavor(capabilty); - ntFlavors.add(ntFlavor); - } - - return ntFlavors; - } - - private NtFlavor convertCap2Flavor(Capability capabilty) { - NtFlavor ntFlavor = new NtFlavor(); - ntFlavor.setFlavorName(capabilty.getFlavorName()); - if (null != capabilty.getProperties() && null != capabilty.getProperties().getProperty()) { - CapabilityProperty property = capabilty.getProperties().getProperty(); - ntFlavor.setRootDisk(property.getRootDisk()); - ntFlavor.setSwapDisk(property.getSwapDisk()); - ntFlavor.setTempDisk(property.getTempDisk()); - ntFlavor.setVcpu(property.getVcpu()); - ntFlavor.setVram(property.getVram()); - } - - return ntFlavor; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplateList.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplateList.java deleted file mode 100644 index a65bdaab..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceNodeTemplateList.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement(name = "nodetemplates") -public class ContainerServiceNodeTemplateList { - @XmlElement(name = "nodetemplate") - private List nodeTemplate; - - public List getNodeTemplate() { - return nodeTemplate; - } - - public void setNodeTemplate(List nodeTemplate) { - this.nodeTemplate = nodeTemplate; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceOperationParameter.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceOperationParameter.java deleted file mode 100644 index 701a1318..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceOperationParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -public class ContainerServiceOperationParameter { - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackage.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackage.java deleted file mode 100644 index 398d0e9c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackage.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement -public class ContainerServicePackage { - @XmlAttribute - private String name; - @XmlAttribute - private String createTime; - @XmlAttribute - private String size; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getCreateTime() { - return createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackageList.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackageList.java deleted file mode 100644 index e841784c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServicePackageList.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement(name = "packages") -public class ContainerServicePackageList { - public static final String NAMESPACE_OF_SELFSERVICE = - "http://www.eclipse.org/winery/model/selfservice"; - - @XmlElement(name = "package") - private List packageList; - - public List getPackageList() { - return packageList; - } - - public void setPackageList(List packageList) { - this.packageList = packageList; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceRelationShip.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceRelationShip.java deleted file mode 100644 index d0e7cde1..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceRelationShip.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ContainerServiceRelationShip { - @XmlElement - private String sourceNodeName; - - @XmlElement - private String targetNodeName; - - @XmlElement - private String sourceNodeId; - - @XmlElement - private String targetNodeId; - - @XmlElement - private String type; - - public String getSourceNodeId() { - return sourceNodeId; - } - - public void setSourceNodeId(String sourceNodeId) { - this.sourceNodeId = sourceNodeId; - } - - public String getTargetNodeId() { - return targetNodeId; - } - - public void setTargetNodeId(String targetNodeId) { - this.targetNodeId = targetNodeId; - } - - public String getSourceNodeName() { - return sourceNodeName; - } - - public void setSourceNodeName(String sourceNodeName) { - this.sourceNodeName = sourceNodeName; - } - - public String getTargetNodeName() { - return targetNodeName; - } - - public void setTargetNodeName(String targetNodeName) { - this.targetNodeName = targetNodeName; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplate.java deleted file mode 100644 index 54e02cdb..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplate.java +++ /dev/null @@ -1,329 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType(XmlAccessType.NONE) -public class ContainerServiceTemplate { - @XmlAttribute - private String templateid; - - @XmlAttribute - private String templatename; - - @XmlElement(name = "BoundaryDefinitions") - private BoundaryDefinitions boundary; - - public String getTemplateid() { - return templateid; - } - - public void setTemplateid(String templateid) { - this.templateid = templateid; - } - - public String getTemplatename() { - return templatename; - } - - public void setTemplatename(String templatename) { - this.templatename = templatename; - } - - public BoundaryDefinitions getBoundary() { - return boundary; - } - - public void setBoundary(BoundaryDefinitions boundary) { - this.boundary = boundary; - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class BoundaryDefinitions { - @XmlElement(name = "Properties", namespace = "http://docs.oasis-open.org/tosca/ns/2011/12") - private BoundaryProperties properties; - - public BoundaryProperties getProperties() { - return properties; - } - - public void setProperties(BoundaryProperties properties) { - this.properties = properties; - } - - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class BoundaryProperties { - @XmlElement(name = "Properties") - private BoundaryProperty property; - - public BoundaryProperty getProperty() { - return property; - } - - public void setProperty(BoundaryProperty property) { - this.property = property; - } - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class BoundaryProperty { - public String getTemplateVersion() { - return templateVersion; - } - - public void setTemplateVersion(String templateVersion) { - this.templateVersion = templateVersion; - } - - public String getTemplateAuthor() { - return templateAuthor; - } - - public void setTemplateAuthor(String templateAuthor) { - this.templateAuthor = templateAuthor; - } - - public String getVendor() { - return vendor; - } - - public void setVendor(String vendor) { - this.vendor = vendor; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getNfvType() { - return nfvType; - } - - public void setNfvType(String nfvType) { - this.nfvType = nfvType; - } - - public String getMoc() { - return moc; - } - - public void setMoc(String moc) { - this.moc = moc; - } - - public String getFlavor() { - return flavor; - } - - public void setFlavor(String flavor) { - this.flavor = flavor; - } - - public List getStFlavor() { - return stFlavor; - } - - public void setStFlavor(List stFlavor) { - this.stFlavor = stFlavor; - } - - @XmlElement - private String templateVersion; - - @XmlElement - private String templateAuthor; - - @XmlElement - private String vendor; - - @XmlElement - private String version; - - @XmlElement - private String nfvType; - - @XmlElement - private String moc; - - @XmlElement - private String flavor; - - @XmlElementWrapper(name = "flavorList") - @XmlElement(name = "flavor") - private List stFlavor; - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class StFlavor { - @XmlAttribute - private String name; - - @XmlAttribute - private String desc; - - @XmlElementWrapper(name = "nodeList") - @XmlElement(name = "node") - private List stFlavorConstituent; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public List getStFlavorConstituent() { - return stFlavorConstituent; - } - - public void setStFlavorConstituent(List stFlavorConstituent) { - this.stFlavorConstituent = stFlavorConstituent; - } - } - - @XmlRootElement - @XmlAccessorType(XmlAccessType.NONE) - public static class StFlavorConstituent { - @XmlAttribute - private String numberOfInstances; - - @XmlAttribute - private String name; - - @XmlAttribute - private String refNodeFlavor; - - @XmlAttribute - private String affinity; - - @XmlAttribute - private String redundancyModel; - - @XmlAttribute - private String capability; - - public String getAffinity() { - return affinity; - } - - public void setAffinity(String affinity) { - this.affinity = affinity; - } - - public String getRedundancyModel() { - return redundancyModel; - } - - public void setRedundancyModel(String redundancyModel) { - this.redundancyModel = redundancyModel; - } - - public String getCapability() { - return capability; - } - - public void setCapability(String capability) { - this.capability = capability; - } - - public String getNumberOfInstances() { - return numberOfInstances; - } - - public void setNumberOfInstances(String numberOfInstances) { - this.numberOfInstances = numberOfInstances; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getRefNodeFlavor() { - return refNodeFlavor; - } - - public void setRefNodeFlavor(String refNodeFlavor) { - this.refNodeFlavor = refNodeFlavor; - } - } - - private Boolean propNullFlag; - - private boolean isPropNotNull() { - if (null == propNullFlag) { - propNullFlag = - null != this.getBoundary() && null != this.getBoundary().getProperties() - && null != this.getBoundary().getProperties().getProperty(); - } - return propNullFlag; - } - - public String getProductType() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getMoc() : null; - } - - public String getVendor() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getVendor() : null; - } - - public String getVersion() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getVersion() : null; - } - - public String getNfvtype() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getNfvType() : null; - } - - public String getFlavor() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getFlavor() : null; - } - - public List getStFlavorList() { - return isPropNotNull() ? this.getBoundary().getProperties().getProperty().getStFlavor() : null; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplateList.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplateList.java deleted file mode 100644 index c4ebfbc4..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/container/ContainerServiceTemplateList.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.container; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement(name = "servicetemplates") -public class ContainerServiceTemplateList { - public static final String NAMESPACE_OF_SELFSERVICE = - "http://www.eclipse.org/winery/model/selfservice"; - - @XmlElement(name = "serviceTemplate") - private List serviceTemplateList; - - public List getServiceTemplateList() { - return serviceTemplateList; - } - - public void setServiceTemplateList(List optionList) { - this.serviceTemplateList = optionList; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/lifecycle/InstanceEntity.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/lifecycle/InstanceEntity.java deleted file mode 100644 index caace7e8..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/lifecycle/InstanceEntity.java +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.lifecycle; - -public class InstanceEntity { - private String serviceTemplateId; - - public String getServiceTemplateId() { - return serviceTemplateId; - } - - public void setServiceTemplateId(String serviceTemplateId) { - this.serviceTemplateId = serviceTemplateId; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/ResourceResponseEntity.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/ResourceResponseEntity.java deleted file mode 100644 index f6da4549..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/ResourceResponseEntity.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.ro; - -import java.util.ArrayList; - -public class ResourceResponseEntity { - ArrayList data = new ArrayList(); - String operationResult; - - public String getOperationResult() { - return operationResult; - } - - public void setOperationResult(String operationResult) { - this.operationResult = operationResult; - } - - public ArrayList getData() { - return data; - } - - public void setData(ArrayList data) { - this.data = data; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/VimEntity.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/VimEntity.java deleted file mode 100644 index 98edf112..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/entity/ro/VimEntity.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.entity.ro; - -public class VimEntity { - private String oid; - private String name; - private String user; - private String url; - private String userName; - private String password; - - public String getOid() { - return oid; - } - - public void setOid(String oid) { - this.oid = oid; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUser() { - return user; - } - - public void setUser(String user) { - this.user = user; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/ILifeCycleServiceRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/ILifeCycleServiceRest.java deleted file mode 100644 index 8e33c9b1..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/ILifeCycleServiceRest.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.lifecycle; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -/** - * The lifecycle interface. - * - * @author 10189609 - * - */ -@Path("/appinstances") -public interface ILifeCycleServiceRest { - @GET - @Produces(MediaType.APPLICATION_JSON) - public String getVnfInstances(); -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/LifeCycleServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/LifeCycleServiceConsumer.java deleted file mode 100644 index 9c264ada..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/lifecycle/LifeCycleServiceConsumer.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.lifecycle; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; -import org.openo.commontosca.catalog.common.MsbUtil; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.model.externalservice.entity.lifecycle.InstanceEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.reflect.Type; -import java.util.ArrayList; - - - -/** - * The lifecycle service. - * - * @author 10189609 - * - */ -public class LifeCycleServiceConsumer { - private static final Logger LOG = LoggerFactory.getLogger(LifeCycleServiceConsumer.class); - - /** - * get lifecycle application instances. - * - * @return instance entity - */ - public static ArrayList getInstances() { - ILifeCycleServiceRest resourceserviceproxy = - ConsumerFactory.createConsumer(MsbUtil.getNsocLifecycleBaseUrl(), - ILifeCycleServiceRest.class); - String result = ""; - try { - result = resourceserviceproxy.getVnfInstances(); - } catch (Exception e1) { - LOG.error("query vim info faild.", e1); - return null; - } - if (ToolUtil.isEmptyString(result)) { - return null; - } - - Gson gson = new Gson(); - Type listType = new TypeToken>() {}.getType(); - return gson.fromJson(result, listType); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/IResourceServiceRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/IResourceServiceRest.java deleted file mode 100644 index 5c45776c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/IResourceServiceRest.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.ro; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -/** - * The roc resource interface. - * - * @author 10189609 - * - */ -@Path("/resource") -public interface IResourceServiceRest { - @Path("/vims/{vim_id}") - @GET - @Produces(MediaType.APPLICATION_JSON) - public String getResourceVim(@PathParam("vim_id") String vimId) throws Exception; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/ResourceServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/ResourceServiceConsumer.java deleted file mode 100644 index b06d7667..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/externalservice/ro/ResourceServiceConsumer.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.externalservice.ro; - -import com.google.gson.Gson; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; - -import org.openo.commontosca.catalog.common.MsbUtil; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.model.externalservice.entity.ro.ResourceResponseEntity; -import org.openo.commontosca.catalog.model.externalservice.entity.ro.VimEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -/** - * The roc resource service. - * - * @author 10189609 - * - */ -public class ResourceServiceConsumer { - private static final Logger LOG = LoggerFactory.getLogger(ResourceServiceConsumer.class); - - private static final String RESOURCE_REST_RESULT = "SUCCESS"; - - /** - * get vim entity from roc by vimid. - * - * @param vimId id - * @return vim entity - */ - public static VimEntity getResourceVim(String vimId) { - LOG.info("begin query vim info from roc,vimId:" + vimId); - IResourceServiceRest resourceserviceproxy = - ConsumerFactory.createConsumer(MsbUtil.getRocBaseUrl(), IResourceServiceRest.class); - String result = ""; - try { - result = resourceserviceproxy.getResourceVim(vimId); - } catch (Exception e1) { - LOG.error("query vim info faild.", e1); - return null; - } - if (ToolUtil.isEmptyString(result)) { - LOG.error("query vim info faild, vim info is null, vimId:" + vimId); - return null; - } - - Gson gson = new Gson(); - ResourceResponseEntity responseEntity = gson.fromJson(result, ResourceResponseEntity.class); - if (!RESOURCE_REST_RESULT.equalsIgnoreCase(responseEntity.getOperationResult())) { - LOG.error("query vim info faild.vimId:" + vimId); - return null; - } - if (responseEntity.getData().size() <= 0) { - LOG.error("query vim info faild, vim info is empty, vimId:" + vimId); - return null; - } - - LOG.info("end query vim info from roc."); - return responseEntity.getData().get(0); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/AbstractModelParser.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/AbstractModelParser.java deleted file mode 100644 index 76cc97a0..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/AbstractModelParser.java +++ /dev/null @@ -1,260 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser; - -import org.openo.commontosca.catalog.common.MsbAddrConfig; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.common.TemplateUtils; -import org.openo.commontosca.catalog.model.entity.InputParameter; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.parser.yaml.yamlmodel.Input; -import org.openo.commontosca.catalog.model.parser.yaml.yamlmodel.Plan; -import org.openo.commontosca.catalog.model.plan.wso2.Wso2ServiceConsumer; -import org.openo.commontosca.catalog.model.plan.wso2.entity.DeployPackageResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -public abstract class AbstractModelParser { - private static final Logger logger = LoggerFactory.getLogger(AbstractModelParser.class); - - public abstract String parse(String packageId, String fileLocation) - throws CatalogResourceException; - - public String copyTemporaryFile2HttpServer(String fileLocation) throws CatalogResourceException { - String destPath = org.openo.commontosca.catalog.filemanage.http.ToolUtil.getHttpServerAbsolutePath() - + toTempFilePath(fileLocation); - if (!org.openo.commontosca.catalog.filemanage.http.ToolUtil.copyFile( - fileLocation, destPath, true)) { - throw new CatalogResourceException("Copy Temporary To HttpServer Failed."); - } - - logger.info("destPath = " + destPath); - return destPath; - } - - public String getUrlOnHttpServer(String path) { - if (MsbAddrConfig.getMsbAddress().endsWith("/")) { - return MsbAddrConfig.getMsbAddress() + "files/catalog-http" + path; - } else { - return MsbAddrConfig.getMsbAddress() + "/files/catalog-http" + path; - } - } - - protected String toTempFilePath(String fileLocation) { - return "/temp/" + (new File(fileLocation)).getName(); - } - - protected EnumTemplateType getTemplateType(String substitutionType, List ntList) { - if (isNsType(substitutionType)) { - return EnumTemplateType.NS; - } - - if (isVnfType(substitutionType)) { - return EnumTemplateType.VNF; - } - - return getTemplateTypeFromNodeTemplates(ntList); - } - - private boolean isVnfType(String type) { - if (ToolUtil.isTrimedEmptyString(type)) { - return false; - } - return type.toUpperCase().endsWith(".VNF") || type.toUpperCase().contains(".VNF."); - } - - private boolean isNsType(String type) { - if (ToolUtil.isTrimedEmptyString(type)) { - return false; - } - return type.toUpperCase().endsWith(".NS") || type.toUpperCase().contains(".NS."); - } - - private EnumTemplateType getTemplateTypeFromNodeTemplates(List ntList) { - for (NodeTemplate nt : ntList) { - if (isNsType(nt.getType()) || isVnfType(nt.getType())) { - return EnumTemplateType.NS; - } - } - - return EnumTemplateType.VNF; - } - - private static final String TOSCA_META_FIELD_ENTRY_DEFINITIONS = "Entry-Definitions"; - - protected String parseServiceTemplateFileName(String packageId, String fileLocation) - throws CatalogResourceException { - return "/" + parseToscaMeta(fileLocation).get(TOSCA_META_FIELD_ENTRY_DEFINITIONS); - } - - private static final String TOSCA_META_FILE_NAME = "TOSCA-Metadata/TOSCA.meta"; - protected Map parseToscaMeta(String zipLocation) throws CatalogResourceException { - Map toscaMeta = new HashMap<>(); - String[] lines = TemplateUtils.readFromZipFile(zipLocation, TOSCA_META_FILE_NAME); - - for (String line : lines) { - String[] tmps; - if (line.indexOf(":") > 0) { - tmps = line.split(":"); - toscaMeta.put(tmps[0].trim(), tmps[1].trim()); - } - } - - return toscaMeta; - } - - /** - * @param fileLocation - * @return - * @throws CatalogResourceException - */ - protected ServiceTemplateOperation[] parseOperations(String fileLocation) throws CatalogResourceException { - String sPlan = TemplateUtils.readStringFromZipFile(fileLocation, "Definitions/plans.yaml"); - Map plans = TemplateUtils.loadPlan(sPlan); - return parseAndDeployPlans(plans, fileLocation); - } - - /** - * @param plans - * @param fileLocation - * @return - * @throws CatalogResourceException - */ - private ServiceTemplateOperation[] parseAndDeployPlans(Map plans, - String zipFileLocation) throws CatalogResourceException { - if (plans == null || plans.isEmpty()) { - return new ServiceTemplateOperation[0]; - } - - List opList = new ArrayList<>(); - for (Entry plan : plans.entrySet()) { - ServiceTemplateOperation op = new ServiceTemplateOperation(); - op.setName(plan.getKey()); - op.setDescription(plan.getValue().getDescription()); - checkPlanLanguage(plan.getValue().getPlanLanguage()); - DeployPackageResponse response = - Wso2ServiceConsumer.deployPackage(zipFileLocation, plan.getValue().getReference()); - op.setPackageName(parsePackageName(response)); - op.setProcessId(response.getProcessId()); - op.setInputs(parsePlanInputs(plan.getValue().getInputs())); - - opList.add(op); - } - - return opList.toArray(new ServiceTemplateOperation[0]); - } - - private String parsePackageName(DeployPackageResponse response) { - String packageName = response.getPackageName(); - if (packageName != null && packageName.indexOf("-") > 0) { - packageName = packageName.substring(0, packageName.lastIndexOf("-")); - } - return packageName; - } - - private void checkPlanLanguage(String planLanguage) throws CatalogResourceException { - if (planLanguage == null || planLanguage.isEmpty()) { - throw new CatalogResourceException("Plan Language is empty."); - } - if (planLanguage.equalsIgnoreCase("bpel")) { - return; - } - if (planLanguage.equalsIgnoreCase("bpmn")) { - return; - } - if (planLanguage.equalsIgnoreCase("bpmn4tosca")) { - return; - } - throw new CatalogResourceException( - "Plan Language is not supported. Language = " + planLanguage); - } - - /** - * @param inputs - * @return - */ - private InputParameter[] parsePlanInputs( - Map inputs) { - if (inputs == null || inputs.isEmpty()) { - return new InputParameter[0]; - } - - List retList = new ArrayList<>(); - for (Entry input : inputs.entrySet()) { - retList.add(new InputParameter( - input.getKey(), - input.getValue().getType(), - input.getValue().getDescription(), - input.getValue().getDefault(), - input.getValue().isRequired())); - } - return retList.toArray(new InputParameter[0]); - } - - /** - * @param metadata - * @return - */ - public String parserId(Map metadata) { - if (metadata.containsKey("id")) { - return metadata.get("id"); - } - return metadata.get("template_name"); - } - - /** - * @param metadata - * @return - */ - public String parserServiceTemplateName(Map metadata) { - if (metadata.containsKey("name")) { - return metadata.get("name"); - } - return metadata.get("template_name"); - } - - /** - * @param metadata - * @return - */ - public String parserServiceTemplateVendor(Map metadata) { - if (metadata.containsKey("vendor")) { - return metadata.get("vendor"); - } - return metadata.get("template_author"); - } - - /** - * @param metadata - * @return - */ - public String parserServiceTemplateVersion(Map metadata) { - if (metadata.containsKey("version")) { - return metadata.get("version"); - } - return metadata.get("template_version"); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumPackageFormat.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumPackageFormat.java deleted file mode 100644 index 5aaf9061..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumPackageFormat.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser; - -/** - * enum data. - * - * @author 10189609 - * - */ -public enum EnumPackageFormat { - TOSCA_XML, TOSCA_YAML -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumTemplateType.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumTemplateType.java deleted file mode 100644 index 44e21e5f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/EnumTemplateType.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser; - -public enum EnumTemplateType { - NS, VNF -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/ModelParserFactory.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/ModelParserFactory.java deleted file mode 100644 index 5e9ef1aa..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/ModelParserFactory.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser; - -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.parser.yaml.aria.AriaModelParser; -import org.openo.commontosca.catalog.model.parser.yaml.zte.ToscaYamlModelParser; - -import java.util.HashMap; -import java.util.Map; - - -public class ModelParserFactory { - private static final ModelParserFactory instance = new ModelParserFactory(); - - public static ModelParserFactory getInstance() { - return instance; - } - - private Map pkgType2ParseMap = - new HashMap(); - - /** - * @param format - * @param parse - */ - public void put(EnumPackageFormat format, AbstractModelParser parse) { - if (parse != null) { - pkgType2ParseMap.put(format, parse); - } - } - - private ModelParserFactory() { - // PackageParseMap.put(EnumPackageFormat.TOSCA_XML, new ToscaXmlModelParser()); - if (isAriaParser()) { - pkgType2ParseMap.put(EnumPackageFormat.TOSCA_YAML, new AriaModelParser()); - } else { - pkgType2ParseMap.put(EnumPackageFormat.TOSCA_YAML, new ToscaYamlModelParser()); - } - } - - /** - * @return - */ - private boolean isAriaParser() { - return "aria".equalsIgnoreCase(Config.getConfigration().getParserType()); - } - - /** - * parse package. - * @param packageId package id - * @param fileLocation package location - * @param format package format - * @return service template id - * @throws CatalogResourceException e - */ - public String parse(String packageId, String fileLocation, EnumPackageFormat format) - throws CatalogResourceException { - if (pkgType2ParseMap.get(format) == null) { - throw new CatalogResourceException("Can't find its parser. package type = " - + format.toString()); - } - - return pkgType2ParseMap.get(format).parse(packageId, fileLocation); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/AriaModelParser.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/AriaModelParser.java deleted file mode 100644 index 8d37319c..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/AriaModelParser.java +++ /dev/null @@ -1,311 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.TemplateManager; -import org.openo.commontosca.catalog.entity.response.CsarFileUriResponse; -import org.openo.commontosca.catalog.model.common.TemplateDataHelper; -import org.openo.commontosca.catalog.model.entity.CapReqMapping; -import org.openo.commontosca.catalog.model.entity.InputParameter; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.OutputParameter; -import org.openo.commontosca.catalog.model.entity.RelationShip; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.entity.SubstitutionMapping; -import org.openo.commontosca.catalog.model.parser.AbstractModelParser; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Input; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Node; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Node.Relationship; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Output; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Substitution.Mapping; -import org.openo.commontosca.catalog.model.parser.yaml.aria.service.AriaParserServiceConsumer; -import org.openo.commontosca.catalog.wrapper.PackageWrapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author 10090474 - * - */ -public class AriaModelParser extends AbstractModelParser { - private static final Logger logger = LoggerFactory.getLogger(AriaModelParser.class); - - /* (non-Javadoc) - * @see org.openo.commontosca.catalog.model.parser.AbstractModelParser#parse(java.lang.String, java.lang.String) - */ - @Override - public String parse(String packageId, String fileLocation) throws CatalogResourceException { - logger.info("Parse begin."); - - String stFileLocation = parseServiceTemplateFileName(packageId, fileLocation); - AriaParserResult result = getAriaParserResult(packageId, stFileLocation); - - // service template - ServiceTemplate st = parseServiceTemplate(result, packageId, stFileLocation); - // workflow - ServiceTemplateOperation[] operations = parseOperations(fileLocation); - st.setOperations(operations); - // node templates - List ntList = parseNodeTemplates(packageId, st.getServiceTemplateId(), result); - st.setType(getTemplateType(getSubstitutionType(result), ntList).toString()); - // save to db - TemplateManager.getInstance().addServiceTemplate( - TemplateDataHelper.convert2TemplateData(st, result.getRawData(), ntList)); - - // substitution - SubstitutionMapping stm = parseSubstitutionMapping(st.getServiceTemplateId(), result); - if (stm != null) { - TemplateManager.getInstance() - .addServiceTemplateMapping(TemplateDataHelper.convert2TemplateMappingData(stm)); - } - - return st.getServiceTemplateId(); - } - - - /** - * @param serviceTemplateId - * @param result - * @return - */ - private SubstitutionMapping parseSubstitutionMapping(String serviceTemplateId, - AriaParserResult result) { - String type = getSubstitutionType(result); - if (ToolUtil.isTrimedEmptyString(type)) { - return null; - } - - org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult.Instance.Substitution stm = - result.getInstance().getSubstitution(); - return new SubstitutionMapping( - serviceTemplateId, - type, - parseSubstitutionRequirements(stm.getRequirement()), - parseSubstitutionCapabilities(stm.getCapabilities())); - } - - - /** - * @param capabilities - * @return - */ - private CapReqMapping[] parseSubstitutionCapabilities(Mapping[] capabilities) { - return parseMappings(capabilities); - } - - /** - * @param requirement - * @return - */ - private CapReqMapping[] parseSubstitutionRequirements(Mapping[] requirement) { - return parseMappings(requirement); - } - - private CapReqMapping[] parseMappings(Mapping[] mappings) { - List ret = new ArrayList<>(); - if (mappings != null) { - for (Mapping mapping : mappings) { - ret.add(new CapReqMapping( - mapping.getMapped_name(), mapping.getNode_id(), mapping.getName())); - } - } - - return ret.toArray(new CapReqMapping[0]); - } - - /** - * @param result - * @return - */ - private String getSubstitutionType(AriaParserResult result) { - if (result.getInstance().getSubstitution() == null) { - return null; - } - return result.getInstance().getSubstitution().getNode_type_name(); - } - - - /** - * @param packageId - * @param serviceTemplateId - * @param result - * @return - * @throws CatalogResourceException - */ - private List parseNodeTemplates(String packageId, String serviceTemplateId, - AriaParserResult result) throws CatalogResourceException { - Node[] nodes = result.getInstance().getNodes(); - if (nodes == null || nodes.length == 0) { - return null; - } - - List retList = new ArrayList<>(); - for (Node node : nodes) { - NodeTemplate ret = new NodeTemplate(); - ret.setId(node.getTemplate_name()); - ret.setName(node.getTemplate_name()); - ret.setType(node.getType_name()); - ret.setProperties(node.getPropertyAssignments()); - List relationShipList = - parseNodeTemplateRelationShip(node.getRelationships(), node, nodes); - ret.setRelationShips(relationShipList); - - retList.add(ret); - } - - return retList; - } - - - /** - * @param relationships - * @param sourceNode - * @param nodes - * @return - * @throws CatalogResourceException - */ - private List parseNodeTemplateRelationShip(Relationship[] relationships, - Node sourceNode, Node[] nodes) throws CatalogResourceException { - List retList = new ArrayList<>(); - - if (relationships == null || relationships.length == 0) { - return retList; - } - - for (Relationship relationship : relationships) { - if (relationship.getTarget_node_id().equals(sourceNode.getId())) { - continue; // target == source, ignore. - } - - RelationShip ret = new RelationShip(); - ret.setSourceNodeId(sourceNode.getTemplate_name()); - ret.setSourceNodeName(sourceNode.getTemplate_name()); - Node targetNode = getNodeById(nodes, relationship.getTarget_node_id()); - ret.setTargetNodeId(targetNode.getTemplate_name()); - ret.setTargetNodeName(targetNode.getTemplate_name()); - ret.setType(relationship.getType_name()); - retList.add(ret); - } - - return retList; - } - - - /** - * @param nodes - * @param nodeId - * @return - * @throws CatalogResourceException - */ - private Node getNodeById(Node[] nodes, String nodeId) throws CatalogResourceException { - if (nodeId == null) { - throw new CatalogResourceException("Target node id is null."); - } - if (nodes == null || nodes.length == 0) { - throw new CatalogResourceException("Can't find target node. nodeId = " + nodeId); - } - - for (Node node : nodes) { - if (nodeId.equals(node.getId())) { - return node; - } - } - - throw new CatalogResourceException("Can't find target node. nodeId = " + nodeId); - } - - - /** - * @param result - * @param packageId - * @param downloadUri - * @return - */ - private ServiceTemplate parseServiceTemplate(AriaParserResult result, String packageId, - String downloadUri) { - ServiceTemplate st = new ServiceTemplate(); - - st.setServiceTemplateId(ToolUtil.generateId()); - st.setId(parserId(result.getInstance().getMetadata())); - st.setTemplateName(parserServiceTemplateName(result.getInstance().getMetadata())); - st.setVendor(parserServiceTemplateVendor(result.getInstance().getMetadata())); - st.setVersion(parserServiceTemplateVersion(result.getInstance().getMetadata())); - st.setCsarId(packageId); - st.setDownloadUri(downloadUri); - st.setInputs(parseInputs(result)); - st.setOutputs(parseOutputs(result)); - return st; - } - - - /** - * @param result - * @return - */ - private InputParameter[] parseInputs(AriaParserResult result) { - Map inputs = result.getInstance().getInputs(); - if (inputs == null || inputs.isEmpty()) { - return new InputParameter[0]; - } - List retList = new ArrayList(); - for (Entry e : inputs.entrySet()) { - retList.add( - new InputParameter( - e.getKey(), - e.getValue().getType_name(), - e.getValue().getDescription(), - e.getValue().getValue(), - false)); - } - return retList.toArray(new InputParameter[0]); - } - - /** - * @param result - * @return - */ - private OutputParameter[] parseOutputs(AriaParserResult result) { - Map outputs = result.getInstance().getOutpus(); - if (outputs == null || outputs.isEmpty()) { - return new OutputParameter[0]; - } - - List retList = new ArrayList(); - for (Entry e: outputs.entrySet()) { - retList.add( - new OutputParameter( - e.getKey(), e.getValue().getDescription(), e.getValue().getValue())); - } - - return retList.toArray(new OutputParameter[0]); - } - - private AriaParserResult getAriaParserResult(String packageId, String stFileLocation) throws CatalogResourceException { - CsarFileUriResponse stDownloadUri = - PackageWrapper.getInstance().getCsarFileDownloadUri(packageId, stFileLocation); - return AriaParserServiceConsumer.parseCsarPackage(stDownloadUri.getDownloadUri()); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserExceptionResult.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserExceptionResult.java deleted file mode 100644 index b06c97de..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserExceptionResult.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria.entity; - -//import lombok.AllArgsConstructor; -//import lombok.Data; -//import lombok.NoArgsConstructor; -// -//@Data -//@NoArgsConstructor -//@AllArgsConstructor -//public class AriaParserExceptionResult { -// private Issue[] issues; -// -// @Data -// public class Issue { -// private int level; -// private String message; -// private String location; -// private String line; -// private String column; -// private String snippet; -// private String exception; -// } -//} - diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserRequest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserRequest.java deleted file mode 100644 index aae8008d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserRequest.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria.entity; - -/** - * - */ -import java.util.List; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class AriaParserRequest { - private String uri; - private List inputs; - - @Data - @NoArgsConstructor - @AllArgsConstructor - public class Parameter { - private String name; - private String value; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserResult.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserResult.java deleted file mode 100644 index f2968fd5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/entity/AriaParserResult.java +++ /dev/null @@ -1,233 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria.entity; - -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class AriaParserResult { - private Issue[] issues; - private Instance instance = new Instance(); - - private String rawData; -// private Type[] types; -// private Model model; - -// @Data -// public class Type { -// } -// @Data -// public class Model { -// } - @Data - public class Issue { - private int level; - private String message; - private String location; - private String line; - private String column; - private String snippet; - private String exception; - } - - @Data - public class Instance { - private String description; - private Map metadata; - private Node[] nodes; - private Group[] groups; - private Policy[] policies; - private Substitution substitution; - private Map inputs; - private Map outpus; - - public Map getMetadata() { - if (this.metadata == null) { - return new HashMap<>(); - } - - return metadata; - } - - @Data - public class Node { - private String id; - private String type_name; - private String template_name; - private Map properties; - private Interface[] interfaces; - private Artifact[] artifacts; - private Capability[] capabilities; - private Relationship[] relationships; - - @Data - public class Artifact { - private String name; - private String type_name; - private String source_path; - private String target_path; - private String repository_url; - private Credential repository_credential; - private Map properties; - - @Data - public class Credential { - private String protocol; - private String token_type; - private Map keys; - private String user; - } - } - - @Data - public class Capability { - private String name; - private String type_name; - private Map properties; - } - - @Data - public class Relationship { - private String target_node_id; - private String target_capability_name; - private String type_name; - private String template_name; - private Map properties; - private Interface[] source_interfaces; - private Interface[] target_interfaces; - } - - /** - * @return - */ - public Map getPropertyAssignments() { - if (this.properties == null || this.properties.isEmpty()) { - return new HashMap(); - } - - Map ret = new HashMap(); - for (Entry e : this.properties.entrySet()) { - ret.put(e.getKey(), e.getValue().getValue()); - } - - return ret; - } - } - - @Data - public class Group { - private String id; - private String type_name; - private String template_name; - private Map properties; - private Interface[] interfaces; - private GroupPolicy[] policies; - private String[] member_node_ids; - - @Data - public class GroupPolicy { - private String id; - private String type_name; - private Map properties; - private Trigger[] triggers; - - @Data - public class Trigger { - private String name; - private String implementation; - private Map properties; - } - } - - } - - - @Data - public class Policy { - private String name; - private String type_name; - private Map properties; - private String[] target_node_ids; - private String[] target_group_ids; - } - - @Data - public class Substitution { - private String node_type_name; - private Mapping[] requirement; - private Mapping[] capabilities; - - @Data - public class Mapping { - private String mapped_name; - private String node_id; - private String name; - - } - } - - @Data - public class Input { - private String type_name; - private Object value; - private String description; - } - - @Data - public class Output { - private String type_name; - private Object value; - private String description; - } - } - -} - - -@Data -class Property { - private String type_name; - private Object value; - private String description; -} - -@Data -class Interface { - private String name; - private String type_name; - private Map inputs; - private Operation[] operation; - - @Data - class Operation { - private String name; - private String implementation; - private String[] dependencies; - private String executor; - private int max_retries; - private int retry_interval; - private Map inputs; - } -} - diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/AriaParserServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/AriaParserServiceConsumer.java deleted file mode 100644 index 1701c60f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/AriaParserServiceConsumer.java +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria.service; - -import org.glassfish.jersey.client.ClientConfig; -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserRequest; -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; -import com.google.gson.Gson; - - -public class AriaParserServiceConsumer { - private static final Logger logger = LoggerFactory.getLogger(AriaParserServiceConsumer.class); - - public static AriaParserResult parseCsarPackage(String uri) throws CatalogResourceException { - logger.info("parseCsarPackage uri = " + uri); - return parseCsarPackage(new AriaParserRequest(uri, null)); - } - /** - * parse csar package via aria parser. - * - * @param request parse yaml request - * @return parase yaml result - * @throws CatalogResourceException e - */ - public static AriaParserResult parseCsarPackage(AriaParserRequest request) - throws CatalogResourceException { - try { - IAriaParserRest parseProxy = - ConsumerFactory.createConsumer( - Config.getConfigration().getMsbServerAddr(), - new ClientConfig(), - IAriaParserRest.class); - String strResult = parseProxy.parse(request); - AriaParserResult result = new Gson().fromJson(strResult, AriaParserResult.class); - result.setRawData(strResult); - validateResult(result, strResult); - return result; - } catch (Exception e) { - throw new CatalogResourceException("Call aria parser api failed.", e); - } - - } - private static void validateResult(AriaParserResult result, String strResult) throws CatalogResourceException { - if (result.getIssues() != null && result.getIssues().length > 0) { - logger.error("Aria parser return failure message: " + strResult); - throw new CatalogResourceException("Aria parser return failure message: " + strResult); - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/IAriaParserRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/IAriaParserRest.java deleted file mode 100644 index df9e50d3..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/aria/service/IAriaParserRest.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.aria.service; - -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import org.openo.commontosca.catalog.model.parser.yaml.aria.entity.AriaParserRequest; - - -@Path("/openoapi/tosca/v1") -public interface IAriaParserRest { - - @POST - @Path("/indirect/instance") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - String parse(AriaParserRequest request) throws Exception; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/EntrySchema.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/EntrySchema.java deleted file mode 100644 index 42542c6d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/EntrySchema.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.yamlmodel; - -/** - * @author 10090474 - * - */ -public class EntrySchema { - private String type = ""; - - public EntrySchema() { - - } - - public EntrySchema(String type) { - super(); - this.type = type; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Input.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Input.java deleted file mode 100644 index 87483ffa..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Input.java +++ /dev/null @@ -1,78 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.yamlmodel; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class Input extends YAMLElement { - - private String type = ""; - private String defaultValue = ""; - private boolean required = false; - private List> constraints = new ArrayList>(); - private EntrySchema entry_schema; - - public String getType() { - return this.type; - } - - public void setType(String type) { - if (type != null) { - this.type = type; - } - } - - public String getDefault() { - return this.defaultValue; - } - - public void setDefault(String defaultValue) { - if (defaultValue != null) { - this.defaultValue = defaultValue; - } - } - - public List> getConstraints() { - return this.constraints; - } - - public void setConstraints(List> constraints) { - if (constraints != null) { - this.constraints = constraints; - } - } - - public boolean isRequired() { - return required; - } - - public void setRequired(boolean required) { - this.required = required; - } - - public EntrySchema getEntry_schema() { - return entry_schema; - } - - public void setEntry_schema(EntrySchema entry_schema) { - if (entry_schema != null) { - this.entry_schema = entry_schema; - } - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Plan.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Plan.java deleted file mode 100644 index c59a81c6..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/Plan.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.yamlmodel; - -import java.util.HashMap; -import java.util.Map; - -/** - * - */ -public class Plan extends YAMLElement { - private String reference = ""; - private String planLanguage = ""; - private Map inputs = new HashMap(); - public String getReference() { - return reference; - } - public void setReference(String reference) { - this.reference = reference; - } - public String getPlanLanguage() { - return planLanguage; - } - public void setPlanLanguage(String planLanguage) { - this.planLanguage = planLanguage; - } - public Map getInputs() { - return inputs; - } - public void setInputs(Map inputs) { - this.inputs = inputs; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/ServiceTemplate.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/ServiceTemplate.java deleted file mode 100644 index c92e3c5b..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/ServiceTemplate.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.yamlmodel; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author 10090474 - * - */ -public class ServiceTemplate extends YAMLElement { - private Map plans = new HashMap<>(); - - public Map getPlans() { - return plans; - } - - public void setPlans(Map plans) { - if (plans != null) { - this.plans = plans; - } - } -} \ No newline at end of file diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/YAMLElement.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/YAMLElement.java deleted file mode 100644 index 0572f2fa..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/yamlmodel/YAMLElement.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.yamlmodel; - -public abstract class YAMLElement { - - private String description = ""; - - public void setDescription(String description) { - if (description != null) { - this.description = description; - } - } - - public String getDescription() { - return this.description; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - YAMLElement element = (YAMLElement) o; - - if (!description.equals(element.description)) return false; - - return true; - } - - @Override - public int hashCode() { - return description.hashCode(); - } -} \ No newline at end of file diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/ToscaYamlModelParser.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/ToscaYamlModelParser.java deleted file mode 100644 index 632d60c4..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/ToscaYamlModelParser.java +++ /dev/null @@ -1,235 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.TemplateManager; -import org.openo.commontosca.catalog.model.common.TemplateDataHelper; -import org.openo.commontosca.catalog.model.entity.CapReqMapping; -import org.openo.commontosca.catalog.model.entity.InputParameter; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.OutputParameter; -import org.openo.commontosca.catalog.model.entity.RelationShip; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.entity.SubstitutionMapping; -import org.openo.commontosca.catalog.model.parser.AbstractModelParser; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlRequestParemeter; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult.TopologyTemplate.Input; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult.TopologyTemplate.NodeTemplate.Relationship; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult.TopologyTemplate.Output; -import org.openo.commontosca.catalog.model.parser.yaml.zte.service.YamlParseServiceConsumer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ToscaYamlModelParser extends AbstractModelParser { - private static final Logger logger = LoggerFactory.getLogger(ToscaYamlModelParser.class); - - @Override - public String parse(String packageId, String fileLocation) throws CatalogResourceException { - logger.info("tosca-yaml-parser parse begin."); - ParseYamlResult result = getParseYamlResult(fileLocation); - - // service template - ServiceTemplate st = parseServiceTemplate( - result, packageId, parseServiceTemplateFileName(packageId, fileLocation)); - // workflow - ServiceTemplateOperation[] operations = parseOperations(fileLocation); - st.setOperations(operations); - // node templates - List ntList = parseNodeTemplates(packageId, st.getServiceTemplateId(), result); - st.setType(getTemplateType(getSubstitutionType(result), ntList).toString()); - // save to db - TemplateManager.getInstance().addServiceTemplate( - TemplateDataHelper.convert2TemplateData(st, result.getRawData(), ntList)); - - // substitution - SubstitutionMapping stm = parseSubstitutionMapping(st.getServiceTemplateId(), result); - if (stm != null) { - TemplateManager.getInstance() - .addServiceTemplateMapping(TemplateDataHelper.convert2TemplateMappingData(stm)); - } - - return st.getServiceTemplateId(); - } - - private ParseYamlResult getParseYamlResult(String fileLocation) throws CatalogResourceException { - String destPath = copyTemporaryFile2HttpServer(fileLocation); - try { - String url = getUrlOnHttpServer(toTempFilePath(fileLocation)); - return YamlParseServiceConsumer.getServiceTemplates(comboRequest(url)); - } finally { - if (destPath != null && !destPath.isEmpty() && (new File(destPath)).exists()) { - (new File(destPath)).delete(); - } - } - } - - private ParseYamlRequestParemeter comboRequest(String fileLocation) { - ParseYamlRequestParemeter request = new ParseYamlRequestParemeter(); - request.setPath(fileLocation); - return request; - } - - private SubstitutionMapping parseSubstitutionMapping(String serviceTemplateId, - ParseYamlResult result) { - String type = getSubstitutionType(result); - if (ToolUtil.isTrimedEmptyString(type)) { - return null; - } - - org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult - .TopologyTemplate.SubstitutionMapping stm = - result.getTopologyTemplate().getSubstitutionMappings(); - return new SubstitutionMapping( - serviceTemplateId, type, - parseSubstitutionRequirements(stm.getRequirementList()), - parseSubstitutionCapabilities(stm.getCapabilityList())); - } - - /** - * @param requirementList - * @return - */ - private CapReqMapping[] parseSubstitutionRequirements(Map requirementList) { - return parseMappings(requirementList); - } - - /** - * @param capabilityList - * @return - */ - private CapReqMapping[] parseSubstitutionCapabilities(Map capabilityList) { - return parseMappings(capabilityList); - } - - private CapReqMapping[] parseMappings(Map mappings) { - List ret = new ArrayList<>(); - if (mappings != null) { - for (Entry mapping : mappings.entrySet()) { - if (mapping.getValue().length >= 2) { - ret.add(new CapReqMapping( - mapping.getKey(), mapping.getValue()[0], mapping.getValue()[1])); - } - } - } - return ret.toArray(new CapReqMapping[0]); - } - - private ServiceTemplate parseServiceTemplate(ParseYamlResult result, String packageId, - String stDownloadUri) { - ServiceTemplate st = new ServiceTemplate(); - - st.setServiceTemplateId(ToolUtil.generateId()); - st.setId(parserId(result.getMetadata())); - st.setTemplateName(parserServiceTemplateName(result.getMetadata())); - st.setVendor(parserServiceTemplateVendor(result.getMetadata())); - st.setVersion(parserServiceTemplateVersion(result.getMetadata())); - st.setCsarId(packageId); - st.setDownloadUri(stDownloadUri); - st.setInputs(parseInputs(result)); - st.setOutputs(parseOutputs(result)); - return st; - } - - private InputParameter[] parseInputs(ParseYamlResult result) { - List inputList = result.getTopologyTemplate().getInputs(); - if (inputList == null) { - return new InputParameter[0]; - } - List retList = new ArrayList(); - for (Input input : inputList) { - retList.add(new InputParameter(input.getName(), input.getType(), - input.getDescription(), input.getDefault(), input.isRequired())); - } - return retList.toArray(new InputParameter[0]); - } - - private OutputParameter[] parseOutputs(ParseYamlResult result) { - List outputList = result.getTopologyTemplate().getOutputs(); - if (outputList == null || outputList.isEmpty()) { - return new OutputParameter[0]; - } - List retList = new ArrayList(); - for (Output output : outputList) { - retList - .add(new OutputParameter(output.getName(), output.getDescription(), output.getValue())); - } - return retList.toArray(new OutputParameter[0]); - } - - private List parseNodeTemplates(String csarId, String templateId, - ParseYamlResult result) { - List nodetemplateList = - result.getTopologyTemplate().getNodeTemplates(); - if (nodetemplateList == null) { - return null; - } - - List retList = new ArrayList<>(); - for (ParseYamlResult.TopologyTemplate.NodeTemplate nodeTemplate : nodetemplateList) { - NodeTemplate ret = new NodeTemplate(); - ret.setId(nodeTemplate.getName()); - ret.setName(nodeTemplate.getName()); - ret.setType(nodeTemplate.getNodeType()); - ret.setProperties(nodeTemplate.getPropertyList()); - List relationShipList = - parseNodeTemplateRelationShip(nodeTemplate.getRelationships()); - ret.setRelationShips(relationShipList); - - retList.add(ret); - } - - return retList; - } - - - private List parseNodeTemplateRelationShip(List relationshipList) { - List retList = new ArrayList<>(); - - if (relationshipList == null) { - return retList; - } - - for (Relationship relationship : relationshipList) { - RelationShip ret = new RelationShip(); - ret.setSourceNodeId(relationship.getSourceNodeName()); - ret.setSourceNodeName(relationship.getSourceNodeName()); - ret.setTargetNodeId(relationship.getTargetNodeName()); - ret.setTargetNodeName(relationship.getTargetNodeName()); - ret.setType(relationship.getType()); - retList.add(ret); - } - - return retList; - } - - private String getSubstitutionType(ParseYamlResult result) { - if (result.getTopologyTemplate().getSubstitutionMappings() == null) { - return null; - } - return result.getTopologyTemplate().getSubstitutionMappings().getNode_type(); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/EnumYamlServiceTemplateInfo.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/EnumYamlServiceTemplateInfo.java deleted file mode 100644 index a6a75ebf..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/EnumYamlServiceTemplateInfo.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte.entity; - - -//public enum EnumYamlServiceTemplateInfo { -// ID { -// @Override -// public String getName() { -// return "id"; -// } -// }, -// VERSION { -// @Override -// public String getName() { -// return "version"; -// } -// }, -// PROVIDER { -// @Override -// public String getName() { -// return "vendor"; -// } -// }; -// -// public abstract String getName(); -//} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlRequestParemeter.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlRequestParemeter.java deleted file mode 100644 index e598ef73..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlRequestParemeter.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte.entity; - -import java.util.List; - -public class ParseYamlRequestParemeter { - private String path = "E:\\NFVO\\130. yaml2xml\\0. tosca-parser\\sample\\ag-vnfd-floatingIp.zip"; - - private List extension; - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public List getExtension() { - return extension; - } - - public void setExtension(List extension) { - this.extension = extension; - } - - public Extension createExtension() { - return new Extension(); - } - - public class Extension { - private String name; - private String value; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlResult.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlResult.java deleted file mode 100644 index 4fc2d825..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/entity/ParseYamlResult.java +++ /dev/null @@ -1,883 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte.entity; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import org.openo.commontosca.catalog.common.ToolUtil; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.annotations.SerializedName; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class ParseYamlResult { - private String toscaDefinitionsVersion; - private String description; - private JsonObject nodeTypes; - private JsonObject capabilityTypes; - private JsonObject relationshipTypes; - private JsonObject policyTypes; - private TopologyTemplate topologyTemplate; - private Map metadata; - private JsonObject plans; - - private String rawData; - - public String getToscaDefinitionsVersion() { - return toscaDefinitionsVersion; - } - - public void setToscaDefinitionsVersion(String toscaDefinitionsVersion) { - this.toscaDefinitionsVersion = toscaDefinitionsVersion; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public JsonObject getNodeTypes() { - return nodeTypes; - } - - public void setNodeTypes(JsonObject nodeTypes) { - this.nodeTypes = nodeTypes; - } - - public List getNodeTypeList() { - return jsonObject2NodeTypes(nodeTypes); - } - - private ArrayList jsonObject2NodeTypes(JsonObject nodeTypes) { - ArrayList nodeTypeList = new ArrayList(); - Iterator> iterator = nodeTypes.entrySet().iterator(); - while (iterator.hasNext()) { - NodeType type = new NodeType(); - Entry next = iterator.next(); - type.setType(next.getKey()); - type.setValue(new Gson().fromJson(next.getValue(), NodeType.NodeTypeValue.class)); - nodeTypeList.add(type); - } - return nodeTypeList; - } - - public JsonObject getCapabilityTypes() { - return capabilityTypes; - } - - public void setCapabilityTypes(JsonObject capabilityTypes) { - this.capabilityTypes = capabilityTypes; - } - - public JsonObject getRelationshipTypes() { - return relationshipTypes; - } - - public void setRelationshipTypes(JsonObject relationshipTypes) { - this.relationshipTypes = relationshipTypes; - } - - public List getRelationshipTypeList() { - return jsonObject2RelationshipTypes(relationshipTypes); - } - - private ArrayList jsonObject2RelationshipTypes(JsonObject relationshipTypes) { - ArrayList relationshipTypeList = new ArrayList(); - Iterator> iterator = relationshipTypes.entrySet().iterator(); - while (iterator.hasNext()) { - RelationshipType type = new RelationshipType(); - Entry next = iterator.next(); - type.setType(next.getKey()); - type.setValue(new Gson().fromJson(next.getValue(), RelationshipType.RelationshipValue.class)); - relationshipTypeList.add(type); - } - return relationshipTypeList; - } - - public JsonObject getPolicyTypes() { - return policyTypes; - } - - public void setPolicyTypes(JsonObject policyTypes) { - this.policyTypes = policyTypes; - } - - public TopologyTemplate getTopologyTemplate() { - return topologyTemplate; - } - - public void setTopologyTemplate(TopologyTemplate topologyTemplate) { - this.topologyTemplate = topologyTemplate; - } - - public Map getMetadata() { - if (this.metadata == null) { - return new HashMap<>(); - } - return metadata; - } - - public void setMetadata(Map metadata) { - this.metadata = metadata; - } - - public JsonObject getPlans() { - return plans; - } - - public void setPlans(JsonObject plans) { - this.plans = plans; - } - - public List getPlanList() { - return jsonObject2PlanList(this.plans); - } - - private List jsonObject2PlanList(JsonObject plans) { - if (plans == null) { - return new ArrayList<>(); - } - List retList = new ArrayList<>(); - Iterator> iterator = plans.entrySet().iterator(); - while (iterator.hasNext()) { - Plan ret = new Plan(); - Entry next = iterator.next(); - ret.setName(next.getKey()); - ret.setValue(new Gson().fromJson(next.getValue(), Plan.PlanValue.class)); - retList.add(ret); - } - return retList; - } - - public class TopologyTemplate { - private String description; - private List inputs; - private List outputs; - private List nodeTemplates; - private SubstitutionMapping substitutionMappings; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public List getInputs() { - return inputs; - } - - public void setInputs(List inputs) { - this.inputs = inputs; - } - - public List getOutputs() { - return outputs; - } - - public void setOutputs(List outputs) { - this.outputs = outputs; - } - - public List getNodeTemplates() { - return nodeTemplates; - } - - public void setNodeTemplates(List nodeTemplates) { - this.nodeTemplates = nodeTemplates; - } - - public SubstitutionMapping getSubstitutionMappings() { - return substitutionMappings; - } - - public void setSubstitutionMappings(SubstitutionMapping substitutionMappings) { - this.substitutionMappings = substitutionMappings; - } - - public class Input { - private String name; - private String type; - private String description; - private String defaultValue; - private boolean required; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getDefault() { - return defaultValue; - } - - public void setDefault(String defaultValue) { - this.defaultValue = defaultValue; - } - - public boolean isRequired() { - return required; - } - - public void setRequired(boolean required) { - this.required = required; - } - } - - public class Output { - private String name; - private String description; - private Object value; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Object getValue() { - return value; - } - - public void setValue(Object value) { - this.value = value; - } - } - - public class NodeTemplate { - private String name; - private String nodeType; - private JsonObject properties; - private JsonObject[] requirements; - private JsonObject capabilities; - private List relationships; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNodeType() { - return nodeType; - } - - public void setNodeType(String nodeType) { - this.nodeType = nodeType; - } - - public JsonObject getProperties() { - return properties; - } - - public void setProperties(JsonObject properties) { - this.properties = properties; - } - - public Map getPropertyList() { - return jsonObject2Properties(properties); - } - - private Map jsonObject2Properties(JsonObject properties) { - Map ret = new HashMap<>(); - Iterator> iterator = properties.entrySet().iterator(); - while (iterator.hasNext()) { - Entry next = iterator.next(); - ret.put(next.getKey(), ToolUtil.getAsString(next.getValue())); - } - return ret; - } - - public JsonObject[] getRequirements() { - return requirements; - } - - public void setRequirements(JsonObject[] requirements) { - this.requirements = requirements; - } - - public JsonObject getCapabilities() { - return capabilities; - } - - public void setCapabilities(JsonObject capabilities) { - this.capabilities = capabilities; - } - - public List getRelationships() { - return relationships; - } - - public void setRelationships(List relationships) { - this.relationships = relationships; - } - - /** - * get scalable. - * @return NodeTemplateScalable - */ - public NodeTemplateScalable getScalable() { - if (capabilities == null) { - return null; - } - JsonElement scaleableJson = capabilities.get("scalable"); - if (scaleableJson == null || !scaleableJson.isJsonObject()) { - return null; - } - JsonElement propertyJson = scaleableJson.getAsJsonObject().get("properties"); - if (propertyJson == null || !propertyJson.isJsonObject()) { - return null; - } - - NodeTemplateScalable scalable = new NodeTemplateScalable(); - scalable.setMin_instances( - ToolUtil.getAsString(propertyJson.getAsJsonObject().get("min_instances"))); - scalable.setMax_instances( - ToolUtil.getAsString(propertyJson.getAsJsonObject().get("max_instances"))); - scalable.setDefault_instances( - ToolUtil.getAsString(propertyJson.getAsJsonObject().get("default_instances"))); - return scalable; - } - - public class Relationship { - private String targetNodeName; - private String type; - private String sourceNodeName; - - public String getTargetNodeName() { - return targetNodeName; - } - - public void setTargetNodeName(String targetNodeName) { - this.targetNodeName = targetNodeName; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getSourceNodeName() { - return sourceNodeName; - } - - public void setSourceNodeName(String sourceNodeName) { - this.sourceNodeName = sourceNodeName; - } - } - - public class NodeTemplateScalable { - private String minInstances; - private String maxInstances; - private String defaultInstances; - - public String getMin_instances() { - return minInstances; - } - - public void setMin_instances(String minInstances) { - this.minInstances = minInstances; - } - - public String getMax_instances() { - return maxInstances; - } - - public void setMax_instances(String maxInstances) { - this.maxInstances = maxInstances; - } - - public String getDefault_instances() { - return defaultInstances; - } - - public void setDefault_instances(String defaultInstances) { - this.defaultInstances = defaultInstances; - } - } - } - - public class SubstitutionMapping { - private String node_type; - private JsonObject requirements; - private JsonObject capabilities; - - public String getNode_type() { - return node_type; - } - - public void setNode_type(String node_type) { - this.node_type = node_type; - } - - public JsonObject getRequirements() { - return requirements; - } - - public void setRequirements(JsonObject requirements) { - this.requirements = requirements; - } - - public Map getRequirementList() { - return jsonObjects2Requirements(this.requirements); - } - - private Map jsonObjects2Requirements(JsonObject requirements) { - if (requirements == null) { - return new HashMap(); - } - - Map ret = new HashMap(); - Iterator> iterator = requirements.entrySet().iterator(); - while (iterator.hasNext()) { - Entry next = iterator.next(); - if (next.getValue().isJsonPrimitive() || next.getValue().isJsonObject()) { - ret.put(next.getKey(), new String[] {ToolUtil.getAsString(next.getValue())}); - continue; - } - - if (next.getValue().isJsonArray()) { - String[] value = parseListValue((JsonArray) next.getValue()); - ret.put(next.getKey(), value); - } - } - - return ret; - } - - private String[] parseListValue(JsonArray jsonArray) { - String[] value = new String[jsonArray.size()]; - for (int i = 0, size = jsonArray.size(); i < size; i++) { - value[i] = ToolUtil.getAsString(jsonArray.get(i)); - } - return value; - } - - public JsonObject getCapabilities() { - return capabilities; - } - - public void setCapabilities(JsonObject capabilities) { - this.capabilities = capabilities; - } - - public Map getCapabilityList() { - return jsonObject2Capabilities(this.capabilities); - } - - private Map jsonObject2Capabilities(JsonObject capabilities) { - if (capabilities == null) { - return new HashMap(); - } - - Map ret = new HashMap(); - Iterator> iterator = capabilities.entrySet().iterator(); - while (iterator.hasNext()) { - Entry next = iterator.next(); - if (next.getValue().isJsonPrimitive() || next.getValue().isJsonObject()) { - ret.put(next.getKey(), new String[] {ToolUtil.getAsString(next.getValue())}); - continue; - } - - if (next.getValue().isJsonArray()) { - String[] value = parseListValue((JsonArray) next.getValue()); - ret.put(next.getKey(), value); - } - } - - return ret; - } - } - } - - - public class RelationshipType { - private String type; - private RelationshipValue value; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public RelationshipValue getValue() { - return value; - } - - public void setValue(RelationshipValue value) { - this.value = value; - } - - public class RelationshipValue { - private String derivedFrom; - private String[] validTargetTypes; - - public String getDerivedFrom() { - return derivedFrom; - } - - public void setDerivedFrom(String derivedFrom) { - this.derivedFrom = derivedFrom; - } - - public String[] getValid_target_types() { - return validTargetTypes; - } - - public void setValid_target_types(String[] validTargetTypes) { - this.validTargetTypes = validTargetTypes; - } - } - } - - - public class NodeType { - private String type; - private NodeTypeValue value; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public NodeTypeValue getValue() { - return value; - } - - public void setValue(NodeTypeValue value) { - this.value = value; - } - - public class NodeTypeValue { - private String derivedFrom; - private JsonObject properties; - private JsonObject[] requirements; - private JsonObject capabilities; - - public String getDerivedFrom() { - return derivedFrom; - } - - public void setDerived_from(String derivedFrom) { - this.derivedFrom = derivedFrom; - } - - public JsonObject getProperties() { - return properties; - } - - public void setProperties(JsonObject properties) { - this.properties = properties; - } - - public List getPropertyList() { - return jsonObject2Properties(properties); - } - - private List jsonObject2Properties(JsonObject properties) { - List propertieList = new ArrayList(); - Iterator> iterator = properties.entrySet().iterator(); - while (iterator.hasNext()) { - NodeTypeProperty type = new NodeTypeProperty(); - Entry next = iterator.next(); - type.setKey(next.getKey()); - type.setValue(new Gson().fromJson(next.getValue(), JsonObject.class)); - propertieList.add(type); - } - return propertieList; - } - - public class NodeTypeProperty { - private String key; - private JsonObject value; - - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - /** - * get default value. - * @return default value - */ - public String getDefaultValue() { - JsonElement defaultValue = value.get("default"); - if (defaultValue == null || defaultValue.isJsonObject()) { - return ""; - } - - return ToolUtil.getAsString(defaultValue); - } - - public JsonObject getValue() { - return value; - } - - public void setValue(JsonObject value) { - this.value = value; - } - } - - public JsonObject[] getRequirements() { - return requirements; - } - - public void setRequirements(JsonObject[] requirements) { - this.requirements = requirements; - } - - public JsonObject getCapabilities() { - return capabilities; - } - - public void setCapabilities(JsonObject capabilities) { - this.capabilities = capabilities; - } - } - } - - public class Plan { - private String name; - private PlanValue value; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return value.getDescription(); - } - - public String getReference() { - return value.getReference(); - } - - public String getPlanLanguage() { - return value.getPlanLanguage(); - } - - public List getInputList() { - return value.getInputList(); - } - - public PlanValue getValue() { - return value; - } - - public void setValue(PlanValue value) { - this.value = value; - } - - public class PlanValue { - private String description; - private String reference; - private String planLanguage; - private JsonObject inputs; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getReference() { - return reference; - } - - public void setReference(String reference) { - this.reference = reference; - } - - public String getPlanLanguage() { - return planLanguage; - } - - public void setPlanLanguage(String planLanguage) { - this.planLanguage = planLanguage; - } - - public JsonObject getInputs() { - return inputs; - } - - public void setInputs(JsonObject inputs) { - this.inputs = inputs; - } - - public List getInputList() { - return jsonObject2PlanInputList(inputs); - - } - - private List jsonObject2PlanInputList(JsonObject inputs) { - List retList = new ArrayList(); - Iterator> iterator = inputs.entrySet().iterator(); - while (iterator.hasNext()) { - PlanInput ret = new PlanInput(); - Entry next = iterator.next(); - ret.setName(next.getKey()); - ret.setValue(new Gson().fromJson(next.getValue(), PlanInput.PlanInputValue.class)); - retList.add(ret); - } - return retList; - } - - public class PlanInput { - private String name; - private PlanInputValue value; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return value.getType(); - } - - public String getDescription() { - return value.getDescription(); - } - - public String getDefault() { - return value.getDefaultValue(); - } - - public boolean isRequired() { - return value.isRequired(); - } - - public PlanInputValue getValue() { - return value; - } - - public void setValue(PlanInputValue value) { - this.value = value; - } - - public class PlanInputValue { - private String type; - private String description; - @SerializedName("default") - private String defaultValue; - private boolean required; - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getDefaultValue() { - return defaultValue; - } - - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - - public boolean isRequired() { - return required; - } - - public void setRequired(boolean required) { - this.required = required; - } - } - } - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/IYamlParseRest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/IYamlParseRest.java deleted file mode 100644 index 157a5073..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/IYamlParseRest.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte.service; - -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlRequestParemeter; - -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - - -@Path("/parse") -public interface IYamlParseRest { - - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - String parse(ParseYamlRequestParemeter request) throws Exception; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/YamlParseServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/YamlParseServiceConsumer.java deleted file mode 100644 index 2d9bd045..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/parser/yaml/zte/service/YamlParseServiceConsumer.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.parser.yaml.zte.service; - -import com.google.gson.Gson; -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; - -import org.glassfish.jersey.client.ClientConfig; -import org.openo.commontosca.catalog.common.MsbUtil; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlRequestParemeter; -import org.openo.commontosca.catalog.model.parser.yaml.zte.entity.ParseYamlResult; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class YamlParseServiceConsumer { - private static final Logger logger = LoggerFactory.getLogger(YamlParseServiceConsumer.class); - /** - * get service template by template id from container service. - * - * @param request parse yaml request - * @return parase yaml result - * @throws CatalogResourceException e - */ - public static ParseYamlResult getServiceTemplates(ParseYamlRequestParemeter request) - throws CatalogResourceException { - logger.info("parseCsarPackage uri = " + request.getPath()); - - try { - ClientConfig config = new ClientConfig(); - IYamlParseRest yamlParseProxy = - ConsumerFactory.createConsumer(MsbUtil.getYamlParseBaseUrl(), config, - IYamlParseRest.class); - String jsonStr = yamlParseProxy.parse(request); - ParseYamlResult result = new Gson().fromJson(jsonStr, ParseYamlResult.class); - result.setRawData(jsonStr); - return result; - } catch (Exception e1) { - throw new CatalogResourceException("Call parser api failed.", e1); - } - - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Iwso2RestService.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Iwso2RestService.java deleted file mode 100644 index 8442d1f5..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Iwso2RestService.java +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2; - -import org.openo.commontosca.catalog.model.plan.wso2.entity.DeletePackageResponse; -import org.openo.commontosca.catalog.model.plan.wso2.entity.StartProcessRequest; -import org.openo.commontosca.catalog.model.plan.wso2.entity.StartProcessResponse; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -@Path("/openoapi/wso2bpel/v1") -public interface Iwso2RestService { - // /** - // * @param request - // * @return - // * @throws Exception - // */ - // @Path("/package") - // @POST - // @Consumes(MediaType.APPLICATION_JSON) - // @Produces(MediaType.APPLICATION_JSON) - // DeployPackageResponse deployPackage(FormDataMultiPart request) throws Exception; - - @Path("/package/{packageName}") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - DeletePackageResponse deletePackage( - @PathParam("packageName") String packageName) throws Exception; - - @Path("process/instance") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - StartProcessResponse startProcess(StartProcessRequest request) - throws Exception; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestResponse.java deleted file mode 100644 index d10e5825..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestResponse.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class RestResponse { - - private Integer statusCode; - - private String result; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestfulClient.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestfulClient.java deleted file mode 100644 index aecd5e10..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/RestfulClient.java +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2; - -import org.apache.http.HttpEntity; -import org.apache.http.HttpHost; -import org.apache.http.HttpRequest; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; - -public class RestfulClient { - private static final String HTTP = "http"; - private static final Logger logger = LoggerFactory.getLogger(RestfulClient.class); - - enum HttpMethod { - GET, POST, PUT, DELETE - } - - /** - * execute http. - * @param method http method - * @param ip ip - * @param port port - * @param url url - * @param body http body - * @return RestResponse - */ - public static RestResponse executeHttp(HttpMethod method, String ip, int port, String url, - HttpEntity body) { - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpResponse httpResponse = null; - RestResponse result = new RestResponse(); - try { - // specify the host, protocol, and port - HttpHost target = new HttpHost(ip, port, HTTP); - // specify the get request - HttpRequest request = getRequest(method, url, body); - httpResponse = httpclient.execute(target, request); - HttpEntity entity = httpResponse.getEntity(); - if (entity != null) { - result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); - result.setResult(EntityUtils.toString(entity)); - } - } catch (Exception e1) { - logger.error("send get rest request error:", e1.getMessage()); - } finally { - if (httpclient != null) { - try { - httpclient.close(); - } catch (IOException e2) { - logger.error("close httpclient error:", e2.getMessage()); - } - } - } - return result; - } - - private static HttpRequest getRequest(HttpMethod method, String url, HttpEntity body) { - HttpRequest request = null; - switch (method) { - case GET: - request = new HttpGet(url); - break; - case POST: - request = new HttpPost(url); - ((HttpPost) request).setEntity(body); - break; - case PUT: - request = new HttpPut(url); - ((HttpPut) request).setEntity(body); - break; - case DELETE: - request = new HttpDelete(url); - break; - default: - break; - } - return request; - } - - public static String get(String ip, int port, String url) { - return executeHttp(HttpMethod.GET, ip, port, url, null).getResult(); - } - - public static RestResponse delete(String ip, int port, String url) { - return executeHttp(HttpMethod.GET, ip, port, url, null); - } - - public static RestResponse post(String ip, int port, String url, HttpEntity requestBody) { - return executeHttp(HttpMethod.POST, ip, port, url, requestBody); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Wso2ServiceConsumer.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Wso2ServiceConsumer.java deleted file mode 100644 index 67f9a9e3..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/Wso2ServiceConsumer.java +++ /dev/null @@ -1,185 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import org.apache.http.HttpEntity; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.mime.MultipartEntityBuilder; -import org.glassfish.jersey.client.ClientConfig; -import org.openo.commontosca.catalog.common.Config; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.model.common.TemplateUtils; -import org.openo.commontosca.catalog.model.plan.wso2.entity.DeletePackageResponse; -import org.openo.commontosca.catalog.model.plan.wso2.entity.DeployPackageResponse; -import org.openo.commontosca.catalog.model.plan.wso2.entity.StartProcessRequest; -import org.openo.commontosca.catalog.model.plan.wso2.entity.StartProcessResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.eclipsesource.jaxrs.consumer.ConsumerFactory; -import com.google.gson.Gson; - - -public class Wso2ServiceConsumer { - public static final String WSO2_APP_URL = "/openoapi/wso2bpel/v1/package"; - private static final Logger logger = LoggerFactory.getLogger(Wso2ServiceConsumer.class); - - /** - * deploy package. - * @param zipFileLocation zip file location - * @param planFilePath plan file path - * @return DeployPackageResponse - * @throws CatalogResourceException e1 - */ - public static DeployPackageResponse deployPackage(String zipFileLocation, String planFilePath) - throws CatalogResourceException { - IpPort ipPort = getIpPort(Config.getConfigration().getMsbServerAddr()); - if (ipPort == null) { - throw new CatalogResourceException("getMsbServerAddr failed."); - } - ZipFile zf = null; - InputStream ins = null; - try { - zf = new ZipFile(zipFileLocation); - ins = getInputStream(zf, planFilePath); - RestResponse res = RestfulClient.post( - ipPort.getIp(), ipPort.getPort(), WSO2_APP_URL, - buildRequest(ins, planFilePath)); - - if (res.getStatusCode() == null || res.getResult() == null) { - throw new CatalogResourceException( - "Deploy Package return null. Response = " + res); - } - - if (200 == res.getStatusCode() || 201 == res.getStatusCode()) { - DeployPackageResponse response = - new Gson().fromJson(res.getResult(), DeployPackageResponse.class); - if (response.isSuccess()) { - return response; - } - } - - throw new CatalogResourceException( - "Deploy Package return failed. Response = " + res.getResult()); - } catch (FileNotFoundException e) { - throw new CatalogResourceException("buildRequest failed.", e); - } catch (IOException e) { - throw new CatalogResourceException("ZipFile failed.", e); - } finally { - TemplateUtils.closeInputStream(ins); - TemplateUtils.closeZipFile(zf); - } - } - - @Data - @NoArgsConstructor - @AllArgsConstructor - public static class IpPort { - private String ip; - private int port; - } - - private static IpPort getIpPort(String addr) { - Pattern p = Pattern.compile("//(.*?):(.*)"); - Matcher m = p.matcher(addr); - while(m.find()){ - return new IpPort(m.group(1), Integer.valueOf(m.group(2))); - } - return null; - } - - private static HttpEntity buildRequest(InputStream inputStream, String filePath) - throws FileNotFoundException { - MultipartEntityBuilder builder = MultipartEntityBuilder.create(); - builder.seContentType(ContentType.MULTIPART_FORM_DATA); - builder.addBinaryBody("file", inputStream, ContentType.APPLICATION_OCTET_STREAM, - new File(filePath).getName()); - return builder.build(); - } - - private static InputStream getInputStream(ZipFile zf, String planFilePath) - throws CatalogResourceException, IOException { - ZipEntry ze = TemplateUtils.getZipEntryZipFile(zf, planFilePath); - - if (ze == null) { - throw new CatalogResourceException("Can't file plan file in the csar. planFilePath = " + planFilePath); - } - return zf.getInputStream(ze); - } - - /** - * delet package. - * @param packageName package to delete according packageName - * @return DeletePackageResponse - * @throws CatalogResourceException e1 - */ - public static DeletePackageResponse deletePackage(String packageName) - throws CatalogResourceException { - try { - ClientConfig config = new ClientConfig(); - Iwso2RestService wso2Proxy = ConsumerFactory.createConsumer( - Config.getConfigration().getMsbServerAddr(), config, Iwso2RestService.class); - DeletePackageResponse response = wso2Proxy.deletePackage(packageName); - if (response.isSuccess()) { - return response; - } - throw new CatalogResourceException(response.toString()); - } catch (Exception e) { - throw new CatalogResourceException( - "Call Delete Package api failed. packageName = " + packageName, e); - } - } - - - /** - * start process. - * @param processId process id - * @param params params - * @return StartProcessResponse - * @throws CatalogResourceException e1 - */ - public static StartProcessResponse startProcess(String processId, Map params) - throws CatalogResourceException { - try { - ClientConfig config = new ClientConfig(); - Iwso2RestService wso2Proxy = ConsumerFactory.createConsumer( - Config.getConfigration().getMsbServerAddr(), config, Iwso2RestService.class); - StartProcessResponse response = - wso2Proxy.startProcess(new StartProcessRequest(processId, params)); - if (response.isSuccess()) { - return response; - } - throw new CatalogResourceException(response.toString()); - } catch (Exception e) { - throw new CatalogResourceException("Call Start Process api failed.", e); - } - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeletePackageResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeletePackageResponse.java deleted file mode 100644 index c3b04092..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeletePackageResponse.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class DeletePackageResponse { - private static final int STATUS_SUCCESS = 1; - - private int status; - private String message; - private String exception; - - public boolean isSuccess() { - return this.status == STATUS_SUCCESS; - } - - @Override - public String toString() { - return "DeletePackageResponse [status=" + status + ", message=" + message + ", exception=" - + exception + "]"; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeployPackageResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeployPackageResponse.java deleted file mode 100644 index d106b89d..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/DeployPackageResponse.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class DeployPackageResponse { - private static final int STATUS_SUCCESS = 1; - - private int status; - private String message; - private String packageName; - private String processId; - private String exception; - - public boolean isSuccess() { - return this.status == STATUS_SUCCESS; - } - - @Override - public String toString() { - return "DeployPackageResponse [status=" + status + ", message=" + message + ", packageName=" - + packageName + ", processId=" + processId + ", exception=" + exception + "]"; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessRequest.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessRequest.java deleted file mode 100644 index 69ada249..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessRequest.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Map; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class StartProcessRequest { - private String processId; - private Map params; -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessResponse.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessResponse.java deleted file mode 100644 index 7e01e770..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/plan/wso2/entity/StartProcessResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.plan.wso2.entity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -public class StartProcessResponse { - private static final int STATUS_SUCCESS = 1; - - private int status; - private String message; - private String response; - private String exception; - - public boolean isSuccess() { - return this.status == STATUS_SUCCESS; - } - - @Override - public String toString() { - return "StartProcessResponse [status=" + status + ", message=" + message + ", response=" - + response + ", exception=" + exception + "]"; - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/service/ModelService.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/service/ModelService.java deleted file mode 100644 index bdbafb87..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/service/ModelService.java +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.service; - -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.TemplateManager; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.plan.wso2.Wso2ServiceConsumer; -import org.openo.commontosca.catalog.model.wrapper.ServiceTemplateWrapper; -import org.openo.commontosca.catalog.resources.CatalogBadRequestException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ModelService { - private static final Logger logger = LoggerFactory.getLogger(ModelService.class); - - private static ModelService instance; - - public static ModelService getInstance() { - if (instance == null) { - instance = new ModelService(); - } - return instance; - } - - - /** - * delete service template according package id. - * - * @param packageId package id - * @throws CatalogBadRequestException e1 - * @throws CatalogResourceException e2 - */ - public void delete(String packageId) throws CatalogResourceException { - logger.info("delete package model data begin."); - - ServiceTemplate st = getServiceTemplateByCsarIdIgnoreError(packageId); - if (st == null) { - return; - } - - undeployOperationPackage(st.getOperations()); - - TemplateManager.getInstance().deleteServiceTemplateById(st.getServiceTemplateId()); - TemplateManager.getInstance().deleteServiceTemplateMapping(null, st.getServiceTemplateId()); - - logger.info("delete package model data end."); - } - - private void undeployOperationPackage(ServiceTemplateOperation[] operations) - throws CatalogResourceException { - if (operations != null && operations.length > 0) { - for (ServiceTemplateOperation op : operations) { - Wso2ServiceConsumer.deletePackage(op.getPackageName()); - } - } - } - - private ServiceTemplate getServiceTemplateByCsarIdIgnoreError(String packageId) { - try { - return ServiceTemplateWrapper.getInstance().getServiceTemplateByCsarId(packageId); - } catch (CatalogBadRequestException ignore) { - logger.info("delete package model data ignore.", ignore); - } catch (CatalogResourceException ignore) { - logger.info("delete package model data ignore.", ignore); - } - - return null; - } - - /** - * delete service template data only, not undeploy operation package. - * - * @param packageId package id - * @throws CatalogBadRequestException e1 - * @throws CatalogResourceException e2 - */ - public void deleteServiceTemplateData(String packageId) throws CatalogResourceException { - logger.info("delete service template data begin."); - - ServiceTemplate st = getServiceTemplateByCsarIdIgnoreError(packageId); - if (st == null) { - return; - } - - TemplateManager.getInstance().deleteServiceTemplateById(st.getServiceTemplateId()); - TemplateManager.getInstance().deleteServiceTemplateMapping(null, st.getServiceTemplateId()); - - logger.info("delete service template data end."); - } - - /** - * undeploy operation package of the service template. - * - * @param packageId package id - * @throws CatalogBadRequestException e1 - * @throws CatalogResourceException e2 - */ - public void undeployOperationPackage(String packageId) throws CatalogResourceException { - logger.info("undeploy operation package begin."); - - ServiceTemplate st = getServiceTemplateByCsarIdIgnoreError(packageId); - if (st == null) { - return; - } - - undeployOperationPackage(st.getOperations()); - - logger.info("undeploy operation package end."); - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/wrapper/ServiceTemplateWrapper.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/wrapper/ServiceTemplateWrapper.java deleted file mode 100644 index 56db0aee..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/model/wrapper/ServiceTemplateWrapper.java +++ /dev/null @@ -1,378 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.model.wrapper; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.entity.NodeTemplateData; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateData; -import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.TemplateManager; -import org.openo.commontosca.catalog.entity.EnumOperationalState; -import org.openo.commontosca.catalog.model.common.TemplateDataHelper; -import org.openo.commontosca.catalog.model.entity.InputParameter; -import org.openo.commontosca.catalog.model.entity.NfvTemplate; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.Parameters; -import org.openo.commontosca.catalog.model.entity.QueryRawDataCondition; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateRawData; -import org.openo.commontosca.catalog.model.entity.SubstitutionMapping; -import org.openo.commontosca.catalog.resources.CatalogBadRequestException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class ServiceTemplateWrapper { - private static ServiceTemplateWrapper instance; - private static final Logger logger = LoggerFactory.getLogger(ServiceTemplateWrapper.class); - - /** - * get service template wrapper instance. - * @return ServiceTemplateWrapper instance - */ - public static ServiceTemplateWrapper getInstance() { - if (instance == null) { - instance = new ServiceTemplateWrapper(); - } - return instance; - } - - /** - * get service template by id. - * @param serviceTemplateId service template id - * @return service template - * @throws CatalogResourceException e1 - */ - public ServiceTemplate getServiceTemplateById(String serviceTemplateId) - throws CatalogResourceException { - logger.info("getServiceTemplateById. serviceTemplateId = " + serviceTemplateId); - - List stdList = - TemplateManager.getInstance().queryServiceTemplateById(serviceTemplateId); - if (stdList == null || stdList.isEmpty()) { - throw new CatalogResourceException("Can't find this servcie template"); - } - - return TemplateDataHelper.convert2ServiceTemplate(stdList.get(0)); - } - - - /** - * get service templates. - * @param status usage status - * @param deletionPending package's deletionPending - * @return service template list - * @throws CatalogResourceException e - */ - public ServiceTemplate[] getServiceTemplates(EnumOperationalState status, boolean deletionPending) - throws CatalogResourceException { - PackageData pd = new PackageData(); - if (status != null) { - pd.setOperationalState(status.toString()); - } - pd.setDeletionPending(String.valueOf(deletionPending)); - - List stdList = - TemplateManager.getInstance().queryServiceTemplateByCsarPackageInfo(pd); - - return TemplateDataHelper.convert2ServiceTemplates(stdList); - } - - public ServiceTemplate[] getServiceTemplates() throws CatalogResourceException { - return TemplateDataHelper.convert2ServiceTemplates( - TemplateManager.getInstance().queryServiceTemplate(null, null, null)); - } - - - /** - * get nesting service template. - * @param nodeTypeIds nodeType id list - * @return service template list - * @throws CatalogResourceException e - */ - public ServiceTemplate[] getNestingServiceTemplate(String[] nodeTypeIds) - throws CatalogResourceException { - ServiceTemplate[] sts = new ServiceTemplate[nodeTypeIds.length]; - for (int i = 0; i < nodeTypeIds.length; i++) { - SubstitutionMapping stm = getSubstitutionMappingsByNodeTypeId(nodeTypeIds[i]); - if (stm == null) { - sts[i] = null; - continue; - } - sts[i] = getServiceTemplate(stm, nodeTypeIds[i]); - } - - return sts; - } - - private ServiceTemplate getServiceTemplate(SubstitutionMapping stm, String nodeTypeId) { - try { - return getServiceTemplateById(stm.getServiceTemplateId()); - } catch (CatalogResourceException e) { - logger.warn("Get Nesting ServiceTemplate Failed. NodeTypeIds = " + nodeTypeId, e); - return null; - } - } - - /** - * get substitution mappings by nodeTpe id. - * @param nodeTypeId nodeType id - * @return SubstitutionMapping - * @throws CatalogResourceException e - */ - private SubstitutionMapping getSubstitutionMappingsByNodeTypeId(String nodeTypeId) - throws CatalogResourceException { - List stmDataList = - TemplateManager.getInstance().queryServiceTemplateMapping(nodeTypeId, null); - if (stmDataList == null || stmDataList.isEmpty()) { - return null; - } - - return TemplateDataHelper.convert2SubstitutionMapping(stmDataList.get(0)); - } - - - /** - * get service template raw data. - * @param queryCondition query raw data condition - * @return ServiceTemplateRawData - * @throws CatalogResourceException e1 - * @throws CatalogBadRequestException e2 - */ - public ServiceTemplateRawData getServiceTemplateRawData(QueryRawDataCondition queryCondition) - throws CatalogResourceException, CatalogBadRequestException { - ServiceTemplateData std = getServiceTemplateDataByCsarId(queryCondition.getCsarId()); - return new ServiceTemplateRawData(std.getRowData()); - } - - /** - * get service template data by package id. - * @param csarId package id - * @return ServiceTemplateData - * @throws CatalogBadRequestException e1 - * @throws CatalogResourceException e2 - */ - private ServiceTemplateData getServiceTemplateDataByCsarId(String csarId) - throws CatalogBadRequestException, CatalogResourceException { - if (ToolUtil.isTrimedEmptyString(csarId)) { - throw new CatalogBadRequestException("CsarId is null."); - } - PackageData pd = new PackageData(); - pd.setCsarId(csarId); - - List stdList = - TemplateManager.getInstance().queryServiceTemplateByCsarPackageInfo(pd); - - if (stdList == null || stdList.isEmpty()) { - throw new CatalogResourceException("Can't find this servcie template"); - } - - return stdList.get(0); - } - - /** - * get service template by package id. - * @param packageId package id - * @return service template data - * @throws CatalogBadRequestException e1 - * @throws CatalogResourceException e2 - */ - public ServiceTemplate getServiceTemplateByCsarId(String packageId) - throws CatalogBadRequestException, CatalogResourceException { - ServiceTemplateData std = getServiceTemplateDataByCsarId(packageId); - ServiceTemplate st = TemplateDataHelper.convert2ServiceTemplate(std); - return st; - } - - /** - * get service template parameters. - * @param serviceTemplateId service template id - * @return service template parameters - * @throws CatalogResourceException e - */ - public Parameters getServiceTemplateParameters(String serviceTemplateId) - throws CatalogResourceException { - ServiceTemplate st = getServiceTemplateById(serviceTemplateId); - return new Parameters(st.getInputs(), st.getOutputs()); - } - - /** - * get template operation. - * @param serviceTemplateId service template id - * @return service template operations - */ - public ServiceTemplateOperation[] getTemplateOperations(String serviceTemplateId) - throws CatalogResourceException { - ServiceTemplate st = getServiceTemplateById(serviceTemplateId); - - if (st.getOperations() == null) { - return new ServiceTemplateOperation[0]; - } - return st.getOperations(); - } - - /** - * get parameters by operation name. - * @param serviceTemplateId service template id - * @param operationName operation name - * @return InputParameter list - * @throws CatalogResourceException e - */ - public InputParameter[] getParametersByOperationName(String serviceTemplateId, - String operationName) throws CatalogResourceException { - if (ToolUtil.isTrimedEmptyString(operationName)) { - throw new CatalogResourceException("Operation Name is null."); - } - - ServiceTemplateOperation[] operations = getTemplateOperations(serviceTemplateId); - for (int i = 0; i < operations.length; i++) { - if (operationName.equals(operations[i].getName())) { - return operations[i].getInputs(); - } - } - - throw new CatalogResourceException("Can't find this operation."); - } - - - /** - * get nodeTemplate by id. - * @param serviceTemplateId service template id - * @param nodeTemplateId node template id - * @return NodeTemplate - * @throws CatalogResourceException e1 - */ - public NodeTemplate getNodeTemplateById(String serviceTemplateId, String nodeTemplateId) - throws CatalogResourceException { - List ntdList = - TemplateManager.getInstance().queryNodeTemplateById(serviceTemplateId, nodeTemplateId); - - if (ntdList == null || ntdList.isEmpty()) { - throw new CatalogResourceException("Can't find this node template."); - } - - return TemplateDataHelper.convert2NodeTemplate(ntdList.get(0)); - } - - /** - * get node templates. - * @param serviceTemplateId service template id - * @param types type list - * @return NodeTemplate list - * @throws CatalogResourceException e - */ - public NodeTemplate[] getNodeTemplates(String serviceTemplateId, String[] types) - throws CatalogResourceException { - List ntdList = - TemplateManager.getInstance().queryNodeTemplateBySeriviceTemplateId(serviceTemplateId); - if (ntdList == null || ntdList.isEmpty()) { - return new NodeTemplate[0]; - } - - if (ToolUtil.isTrimedEmptyArray(types)) { // return all node templates - return TemplateDataHelper.convert2NodeTemplates(ntdList); - } - - List ntList = new ArrayList<>(); - for (String type : types) { - if (!ToolUtil.isTrimedEmptyString(type)) { - List typedNtdList = filterNodeTemplateDataListByType(ntdList, type); - ntList.addAll(Arrays.asList(TemplateDataHelper.convert2NodeTemplates(typedNtdList))); - } - } - return ntList.toArray(new NodeTemplate[0]); - } - - /** - * filter node template data list by type. - * @param ntdList nodeTemplate list - * @param type node type - * @return node template data list - */ - private List filterNodeTemplateDataListByType(List ntdList, - String type) { - List retList = new ArrayList<>(); - for (NodeTemplateData ntd : ntdList) { - if (type.equals(ntd.getType())) { - retList.add(ntd); - } - } - return retList; - } - - - /** - * get nfv template. - * @param serviceTemlateId service template id - * @return NfvTemplate - * @throws CatalogResourceException e - */ - public NfvTemplate getNfvTemplate(String serviceTemlateId) throws CatalogResourceException { - NodeTemplate[] nts = getNodeTemplates(serviceTemlateId, null); - - List vduNodes = new ArrayList<>(); - List networkNodes = new ArrayList<>(); - List vnfcNodes = new ArrayList<>(); - List vnfNodes = new ArrayList<>(); - for (NodeTemplate nt : nts) { - if (isVduNode(nt.getType())) { - vduNodes.add(nt); - continue; - } - - if (isNetworkNode(nt.getType())) { - networkNodes.add(nt); - continue; - } - - if (isVnfcNode(nt.getType())) { - vnfcNodes.add(nt); - continue; - } - - if (isVnfNode(nt.getType())) { - vnfNodes.add(nt); - continue; - } - } - - return new NfvTemplate(vduNodes, networkNodes, vnfcNodes, vnfNodes); - } - - private boolean isVnfNode(String type) { - return type.toUpperCase().indexOf(".VNF") > 0; - } - - private boolean isVnfcNode(String type) { - return type.toUpperCase().indexOf(".VNFC") > 0; - } - - private boolean isNetworkNode(String type) { - return type.toUpperCase().indexOf(".VL") > 0 || type.toUpperCase().indexOf(".VIRTUALLINK") > 0; - } - - private boolean isVduNode(String type) { - return type.toUpperCase().indexOf(".VDU") > 0; - } - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/CatalogBadRequestException.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/CatalogBadRequestException.java deleted file mode 100644 index 76c5e164..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/CatalogBadRequestException.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.resources; - -import org.openo.commontosca.catalog.db.exception.ErrorCodeException; - -public class CatalogBadRequestException extends ErrorCodeException { - private static final long serialVersionUID = 5699508780537383310L; - - - public CatalogBadRequestException(int errcode) { - super(errcode, ""); - } - - - public CatalogBadRequestException(int errcode, Throwable cause) { - super(cause, errcode); - } - - - public CatalogBadRequestException(int errcode, String message, Throwable cause) { - super(cause, errcode, message); - } - - - public CatalogBadRequestException() { - super(9999999, null); - } - - - public CatalogBadRequestException(String message) { - super(9999999, message); - } - - - public CatalogBadRequestException(Throwable cause) { - super(cause, 9999999); - } - - - public CatalogBadRequestException(String message, Throwable cause) { - super(cause, 9999999, message); - } - - - public CatalogBadRequestException(Throwable source, int errId, String debugMessage, - String[] arguments) { - super(source, errId, debugMessage, arguments); - } - - public CatalogBadRequestException(Throwable source, int category, int code, String debugMessage, - String[] arguments) { - super(source, category, code, debugMessage, arguments); - } - - public int getErrcode() { - return super.getErrorCode(); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/PackageResource.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/PackageResource.java deleted file mode 100644 index d697c704..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/PackageResource.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.resources; - -import com.codahale.metrics.annotation.Timed; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - -import org.eclipse.jetty.http.HttpStatus; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataParam; -import org.openo.commontosca.catalog.entity.response.CsarFileUriResponse; -import org.openo.commontosca.catalog.entity.response.PackageMeta; -import org.openo.commontosca.catalog.entity.response.UploadPackageResponse; -import org.openo.commontosca.catalog.wrapper.PackageWrapper; - -import java.io.InputStream; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -/** - * csar package service. - * - * @author 10189609 - * - */ -@Path("/") -@Api(tags = {"Package Resource"}) -public class PackageResource { - - @Path("/csars") - @GET - @ApiOperation(value = "get csar package list by condition", response = PackageMeta.class, - responseContainer = "List") - @Produces(MediaType.APPLICATION_JSON) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response queryPackageListByCond( - @ApiParam(value = "csar name") @QueryParam("name") String name, @ApiParam( - value = "csar provider") @QueryParam("provider") String provider, @ApiParam( - value = "csar version") @QueryParam("version") String version, @ApiParam( - value = "delay to delete") @QueryParam("deletionPending") String deletionPending, - @ApiParam(value = "csar type") @QueryParam("type") String type) { - return PackageWrapper.getInstance().queryPackageListByCond(name, provider, version, - deletionPending, type); - } - - - @Path("/csars/{csarId}") - @GET - @ApiOperation(value = "get csar package list", response = PackageMeta.class, - responseContainer = "List") - @Produces(MediaType.APPLICATION_JSON) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response queryPackageById( - @ApiParam(value = "csar id") @PathParam("csarId") String csarId) { - return PackageWrapper.getInstance().queryPackageById(csarId); - } - - // @Path("/csars/ftp") - // @POST - // @ApiOperation(value = "upload csar package", response = UploadPackageResponse.class) - // @Consumes(MediaType.APPLICATION_JSON) - // @Produces(MediaType.APPLICATION_JSON) - // @ApiResponses(value = { - // @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = - // String.class), - // @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, message = - // "Unprocessable MicroServiceInfo Entity ", response = String.class), - // @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - // response = String.class)}) - // @Timed - // public Response uploadPackageFromFtp(UploadPackageFromFtpRequest request) throws Exception { - // return PackageWrapper.getInstance().uploadPackageFromFtp(request); - // } - - @Path("/csars") - @POST - @ApiOperation(value = "upload csar package", response = UploadPackageResponse.class) - @Consumes(MediaType.MULTIPART_FORM_DATA) - @Produces(MediaType.APPLICATION_JSON) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response uploadPackage( - @ApiParam(value = "file inputstream", - required = true) @FormDataParam("file") InputStream uploadedInputStream, - @ApiParam(value = "file detail", - required = false) @FormDataParam("file") FormDataContentDisposition fileDetail, - @ApiParam(value = "http header") @Context HttpHeaders head) throws Exception { - return PackageWrapper.getInstance().uploadPackage(uploadedInputStream, fileDetail, head); - } - - @Path("/csars/{csarId}") - @DELETE - @ApiOperation(value = "delete a package") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response delPackage(@ApiParam(value = "csar Id") @PathParam("csarId") String csarId) { - return PackageWrapper.getInstance().delPackage(csarId); - } - - // @Path("/csars") - // @DELETE - // @ApiOperation(value = "delete a package by serviceTemplateId") - // @ApiResponses(value = { - // @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = - // String.class), - // @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, message = - // "Unprocessable MicroServiceInfo Entity ", response = String.class), - // @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - // response = String.class)}) - // @Timed - // public Response delPackageByServiceTemplateId( - // @ApiParam(value = "serviceTemplateId") @QueryParam("serviceTemplateId") String - // serviceTemplateId) { - // return PackageWrapper.getInstance().delPackageByServiceTemplateId(serviceTemplateId); - // } - - @Path("/csars/{csarId}") - @PUT - @ApiOperation(value = "update csar package status") - @Produces(MediaType.APPLICATION_JSON) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response updatePackageStatus( - @ApiParam(value = "csar Id", required = true) @PathParam("csarId") String csarId, - @ApiParam(value = "csar operational status", - required = false) @QueryParam("operationalState") String operationalState, - @ApiParam(value = "csar usage status", - required = false) @QueryParam("usageState") String usageState, - @ApiParam(value = "csar onboard status", - required = false) @QueryParam("onBoardState") String onBoardState, - @ApiParam(value = "csar process status", - required = false) @QueryParam("processState") String processState, - @ApiParam(value = "csar deletionPending status", - required = false) @QueryParam("deletionPending") String deletionPending) { - return PackageWrapper.getInstance().updatePackageStatus(csarId, operationalState, usageState, - onBoardState, processState, deletionPending); - } - - @Path("/csars/{csarId}/files") - @GET - @ApiOperation(value = "get csar file uri by csarId", response = CsarFileUriResponse.class) - @Produces(MediaType.APPLICATION_JSON) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - response = String.class)}) - @Timed - public Response getCsarFileUri( - @ApiParam(value = "csar Id", required = true) @PathParam("csarId") String csarId, - @ApiParam(value = "csar file path", - required = true) @QueryParam("relativePath") String relativePath) { - return PackageWrapper.getInstance().getCsarFileUri(csarId, relativePath); - } - - // @Path("/csars/{csarId}/plans") - // @GET - // @ApiOperation(value = "get plans of package by csarId", response = FileLink.class, - // responseContainer = "List") - // @Produces(MediaType.APPLICATION_JSON) - // @ApiResponses(value = { - // @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = - // String.class), - // @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, message = - // "Unprocessable MicroServiceInfo Entity ", response = String.class), - // @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "resource grant error", - // response = String.class)}) - // @Timed - // public Response getCsarPlanUri( - // @ApiParam(value = "csar Id", required = true) @PathParam("csarId") String csarId - // ) { - // return PackageWrapper.getInstance().getCsarPlansUri(csarId); - // } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/RestUtils.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/RestUtils.java deleted file mode 100644 index b5745b11..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/RestUtils.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.resources; - -import org.openo.commontosca.catalog.common.CommonErrorResponse; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; - -import javax.ws.rs.BadRequestException; -import javax.ws.rs.InternalServerErrorException; -import javax.ws.rs.core.Response; - -public class RestUtils { - public static InternalServerErrorException newInternalServerErrorException( - CatalogResourceException e1) { - return new InternalServerErrorException(Response.status(Response.Status.INTERNAL_SERVER_ERROR) - .entity(new CommonErrorResponse(e1.getErrcode() + "", e1.getMessage())).build(), e1); - } - - public static BadRequestException newBadRequestException(CatalogBadRequestException e1) { - return new BadRequestException(Response.status(Response.Status.BAD_REQUEST) - .entity(new CommonErrorResponse(e1.getErrcode() + "", e1.getMessage())).build(), e1); - } -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/TemplateResource.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/TemplateResource.java deleted file mode 100644 index 1e0e2c66..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/resources/TemplateResource.java +++ /dev/null @@ -1,453 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.resources; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import org.eclipse.jetty.http.HttpStatus; -import org.openo.commontosca.catalog.common.CommonErrorResponse; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.entity.EnumOperationalState; -import org.openo.commontosca.catalog.model.entity.InputParameter; -import org.openo.commontosca.catalog.model.entity.NodeTemplate; -import org.openo.commontosca.catalog.model.entity.Parameters; -import org.openo.commontosca.catalog.model.entity.QueryRawDataCondition; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation; -import org.openo.commontosca.catalog.model.entity.ServiceTemplateRawData; -import org.openo.commontosca.catalog.model.parser.AbstractModelParser; -import org.openo.commontosca.catalog.model.parser.yaml.zte.ToscaYamlModelParser; -import org.openo.commontosca.catalog.model.service.ModelService; -import org.openo.commontosca.catalog.model.wrapper.ServiceTemplateWrapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.codahale.metrics.annotation.Timed; - -/** - * model template service. - * - */ -@Path("/servicetemplates") -@Api(tags = {"Model Resource"}) -public class TemplateResource { - - private static final Logger logger = LoggerFactory.getLogger(TemplateResource.class); - - /** - * Query service template by service template id. - * @param servicetemplateid service template id - * @return Response - */ - @Path("/{servicetemplateid}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query service template by service template id", - response = ServiceTemplate.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getServiceTemplateById(@ApiParam( - value = "service template id") @PathParam("servicetemplateid") String servicetemplateid) { - try { - ServiceTemplate st = - ServiceTemplateWrapper.getInstance().getServiceTemplateById(servicetemplateid); - return Response.status(Response.Status.OK).entity(st).build(); - } catch (CatalogResourceException e1) { - logger.error("getServiceTemplateById failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - } - - - /** - * Query service template by filter conditions. - * @param status template status - * @param deletionPending delay to delete - * @return Response - */ - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query service template by filter conditions", - response = ServiceTemplate.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getServiceTemplates( - @ApiParam(value = "template status") @QueryParam("status") EnumOperationalState status, - @ApiParam(value = "delay to delete") @QueryParam("deletionPending") boolean deletionPending) { - try { - ServiceTemplate[] sts = - ServiceTemplateWrapper.getInstance().getServiceTemplates(status, deletionPending); - return Response.status(Response.Status.OK).entity(sts).build(); - } catch (CatalogResourceException e1) { - logger.error("getServiceTemplates failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - /** - * Query nesting service template of a node type. - * @param nodeTypeIds node type ids - * @return Response - */ - @Path("/nesting") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query nesting service template of a node type", - response = ServiceTemplate.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getNestingServiceTemplate(@ApiParam(value = "Node type ids splited by ','. Such as 'tosca.nodes.nfv.VDU,tosca.nodes.nfv.VL'.", - required = true) @QueryParam("nodeTypeIds") String nodeTypeIds) { - try { - if (ToolUtil.isTrimedEmptyString(nodeTypeIds)) { - throw new CatalogBadRequestException("nodeTypeIds is null."); - } - String[] tmpNodeTypeIds = nodeTypeIds.split(","); - ServiceTemplate[] sts = ServiceTemplateWrapper.getInstance() - .getNestingServiceTemplate(ToolUtil.trimedStringArray(tmpNodeTypeIds)); - return Response.status(Response.Status.OK).entity(sts).build(); - } catch (CatalogResourceException e1) { - logger.error("getNestingServiceTemplate failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } catch (CatalogBadRequestException e2) { - logger.error("getNestingServiceTemplate failed.", e2); - throw RestUtils.newBadRequestException(e2); - } - } - - /** - * Query raw data of a service template by csar id. - * @param queryCondition query condition - * @return Response - */ - @Path("/queryingrawdata") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query raw data of a service template by csar id", - response = ServiceTemplateRawData.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getServiceTemplateRawData( - @ApiParam(value = "Query Service Template Raw Data Condition", - required = true) QueryRawDataCondition queryCondition) { - try { - ServiceTemplateRawData stRowData = - ServiceTemplateWrapper.getInstance().getServiceTemplateRawData(queryCondition); - return Response.status(Response.Status.OK).entity(stRowData).build(); - } catch (CatalogResourceException e1) { - logger.error("getServiceTemplateRawData failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } catch (CatalogBadRequestException e2) { - logger.error("getServiceTemplateRawData failed.", e2); - throw RestUtils.newBadRequestException(e2); - } - } - - - /** - * Query operation list of service template. - * @param serviceTemplateId service template id - * @return Response - */ - @Path("/{serviceTemplateId}/operations") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query operation list of service template", - response = ServiceTemplateOperation.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getServiceTemplateOperations(@ApiParam(value = "Service Template Id", - required = true) @PathParam("serviceTemplateId") String serviceTemplateId) { - try { - ServiceTemplateOperation[] operations = - ServiceTemplateWrapper.getInstance().getTemplateOperations(serviceTemplateId); - return Response.status(Response.Status.OK).entity(operations).build(); - } catch (CatalogResourceException e1) { - logger.error("getServiceTemplateOperations failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - /** - * Query input parameters of a specified operation. - * @param serviceTemplateId service template id - * @param operationName operation name - * @return Response - */ - @Path("/{serviceTemplateId}/operations/{operationName}/parameters") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query input parameters of a specified operation", - response = InputParameter.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getParametersByOperationName( - @ApiParam(value = "Service Template Id", - required = true) @PathParam("serviceTemplateId") String serviceTemplateId, - @ApiParam(value = "Operation Name", - required = true) @PathParam("operationName") String operationName) { - try { - InputParameter[] inputs = ServiceTemplateWrapper.getInstance() - .getParametersByOperationName(serviceTemplateId, operationName); - return Response.status(Response.Status.OK).entity(inputs).build(); - } catch (CatalogResourceException e1) { - logger.error("getParametersByOperationId failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - /** - * Query input parameters of service template. - * @param servicetemplateid service template id - * @return Response - */ - @Path("/{servicetemplateid}/parameters") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query input parameters of service template", response = Parameters.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getServiceTemplateParameters(@ApiParam(value = "service template id", - required = true) @PathParam("servicetemplateid") String servicetemplateid) { - try { - Parameters parameters = - ServiceTemplateWrapper.getInstance().getServiceTemplateParameters(servicetemplateid); - return Response.status(Response.Status.OK).entity(parameters).build(); - } catch (CatalogResourceException e1) { - logger.error("getServiceTemplateParameters failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - /** - * Query node template list of a specified service template. - * @param serviceTemplateId service template id - * @param types node type - * @return Response - */ - @Path("/{serviceTemplateId}/nodetemplates") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query node template list of a specified service template", - response = NodeTemplate.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getNodeTemplatesByType( - @ApiParam(value = "Service Template Id", - required = true) @PathParam("serviceTemplateId") String serviceTemplateId, - @ApiParam(value = "The type of node template") @QueryParam("types") String types) { - try { - String[] tmpTypes = getSplitedTypes(types); - NodeTemplate[] nts = ServiceTemplateWrapper.getInstance().getNodeTemplates(serviceTemplateId, - ToolUtil.trimedStringArray(tmpTypes)); - return Response.status(Response.Status.OK).entity(nts).build(); - } catch (CatalogResourceException e1) { - logger.error("getNodeTemplateList failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - - private String[] getSplitedTypes(String types) { - if (ToolUtil.isTrimedEmptyString(types)) { - return new String[0]; - } - - return types.split(","); - } - - /** - * Query node template by node template id. - * @param serviceTemplateId service template id - * @param nodeTemplateId node template id - * @return Response - */ - @Path("/{serviceTemplateId}/nodetemplates/{nodeTemplateId}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Query node template by node template id", response = NodeTemplate.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response getNodeTemplateById( - @ApiParam(value = "Service Template Id", - required = true) @PathParam("serviceTemplateId") String serviceTemplateId, - @ApiParam(value = "Node Template Id", - required = true) @PathParam("nodeTemplateId") String nodeTemplateId) { - try { - NodeTemplate nt = ServiceTemplateWrapper.getInstance().getNodeTemplateById(serviceTemplateId, - nodeTemplateId); - return Response.status(Response.Status.OK).entity(nt).build(); - } catch (CatalogResourceException e1) { - logger.error("getNodeTemplateById failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - - } - - // /** - // * @param servicetemplateid - // * @return - // */ - // @Path("/{servicetemplateid}/nfvtemplate") - // @POST - // @Consumes(MediaType.APPLICATION_JSON) - // @Produces(MediaType.APPLICATION_JSON) - // @ApiOperation(value = - // "Query node template detail of a specified service template", response = - // NfvTemplate.class) - // @ApiResponses(value = { - // @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = - // "microservice not found", response = String.class), - // @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, message = - // "Unprocessable MicroServiceInfo Entity ", response = String.class), - // @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = - // "server internal error", response = CommonErrorResponse.class) }) - // @Timed - // public Response getNfvTemplate( - // @ApiParam(value = "service template id", required = true) - // @PathParam("servicetemplateid") String servicetemplateid) { - // try { - // NfvTemplate nfvTemplate = ServiceTemplateWrapper.getInstance() - // .getNfvTemplate(servicetemplateid); - // return Response.status(Response.Status.OK).entity(nfvTemplate) - // .build(); - // } catch (CatalogResourceException e) { - // logger.error("getNfvTemplate failed.", e); - // throw RestUtils.newInternalServerErrorException(e); - // } - // - // } - - /** - * test function. - * @return Response - */ - @Path("/test") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "test", response = String.class, responseContainer = "List") - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", - response = String.class), - @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415, - message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", - response = CommonErrorResponse.class)}) - @Timed - public Response test() { - try { - AbstractModelParser parser1 = new ToscaYamlModelParser(); - parser1.parse("pk11111", "C:\\Users\\10090474\\Downloads\\OpenO.csar"); - -// AbstractModelParser parser = new AriaModelParser(); -// parser.parse("pk11111", "/home/b/common-tosca-aria/blueprints/tosca/node-cellar.yaml"); - - ModelService.getInstance().delete("pk11111"); - - String[] strs = {"111", "222", null, null, "555"}; - return Response.status(Response.Status.OK).entity(strs).build(); - } catch (CatalogResourceException e1) { - logger.error("test failed.", e1); - throw RestUtils.newInternalServerErrorException(e1); - } - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapper.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapper.java deleted file mode 100644 index 1f1e245f..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapper.java +++ /dev/null @@ -1,484 +0,0 @@ -/** - * Copyright 2016-2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.wrapper; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; - -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.openo.commontosca.catalog.cometd.CometdException; -import org.openo.commontosca.catalog.cometd.CometdService; -import org.openo.commontosca.catalog.common.CommonConstant; -import org.openo.commontosca.catalog.common.HttpServerPathConfig; -import org.openo.commontosca.catalog.common.RestUtil; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.PackageManager; -import org.openo.commontosca.catalog.entity.request.PackageBasicInfo; -import org.openo.commontosca.catalog.entity.response.CsarFileUriResponse; -import org.openo.commontosca.catalog.entity.response.PackageMeta; -import org.openo.commontosca.catalog.entity.response.UploadPackageResponse; -import org.openo.commontosca.catalog.filemanage.FileManagerFactory; -import org.openo.commontosca.catalog.model.parser.ModelParserFactory; -import org.openo.commontosca.catalog.model.service.ModelService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class PackageWrapper { - private static PackageWrapper packageWrapper; - private static final Logger LOG = LoggerFactory.getLogger(PackageWrapper.class); - - /** - * get PackageWrapper instance. - * @return package wrapper instance - */ - public static PackageWrapper getInstance() { - if (packageWrapper == null) { - packageWrapper = new PackageWrapper(); - } - return packageWrapper; - } - - /** - * query package by id. - * @param csarId package id - * @return Response - */ - public Response queryPackageById(String csarId) { - PackageData dbResult = new PackageData(); - PackageMeta result = new PackageMeta(); - dbResult = PackageWrapperUtil.getPackageInfoById(csarId); - result = PackageWrapperUtil.packageData2PackageMeta(dbResult); - return Response.ok(result).build(); - } - - /** - * upload package. - * @param uploadedInputStream inputStream - * @param fileDetail package detail - * @param head http header - * @return Response - * @throws Exception e - */ - public Response uploadPackage(InputStream uploadedInputStream, - FormDataContentDisposition fileDetail, HttpHeaders head) throws Exception { - int fileSize = 0; - if (uploadedInputStream == null) { - LOG.info("the uploadStream is null"); - return Response.serverError().build(); - } - if (fileDetail == null) { - LOG.info("the fileDetail is null"); - return Response.serverError().build(); - } - LOG.info("the fileDetail = " + ToolUtil.objectToString(fileDetail)); - String contentRange = null; - String fileName = ""; - fileName = ToolUtil.processFileName(fileDetail.getFileName()); - String tempDirName = null; - tempDirName = ToolUtil.getTempDir(CommonConstant.CATALOG_CSAR_DIR_NAME, fileName); - if (head != null) { - contentRange = head.getHeaderString(CommonConstant.HTTP_HEADER_CONTENT_RANGE); - } - LOG.info("store package chunk file, fileName:" + fileName + ",contentRange:" + contentRange); - if (ToolUtil.isEmptyString(contentRange)) { - fileSize = uploadedInputStream.available(); - contentRange = "0-" + fileSize + "/" + fileSize; - } - String fileLocation = - ToolUtil.storeChunkFileInLocal(tempDirName, fileName, uploadedInputStream); - LOG.info("the fileLocation when upload package is :" + fileLocation); - uploadedInputStream.close(); - - Boolean isEnd = PackageWrapperUtil.isUploadEnd(contentRange, fileName); - PackageData packateDbData = new PackageData(); - UploadPackageResponse result = new UploadPackageResponse(); - if (isEnd) { - PackageBasicInfo basicInfo = new PackageBasicInfo(); - basicInfo = PackageWrapperUtil.getPacageBasicInfo(fileLocation); - if (null == basicInfo.getType() || null == basicInfo.getProvider() - || null == basicInfo.getVersion()) { - LOG.error( - "Package basicInfo is incorrect ! basicIonfo = " + ToolUtil.objectToString(basicInfo)); - return Response.serverError().build(); - } - String path = - basicInfo.getType().toString() + File.separator + basicInfo.getProvider() + File.separator - + fileName.replace(".csar", "") + File.separator + basicInfo.getVersion(); - LOG.info("dest path is : " + path); - PackageMeta packageMeta = new PackageMeta(); - packageMeta = PackageWrapperUtil.getPackageMeta(fileName, fileLocation, basicInfo); - String dowloadUri = File.separator + path + File.separator; - packageMeta.setDownloadUri(dowloadUri); - LOG.info("packageMeta = " + ToolUtil.objectToString(packageMeta)); - - String serviceTemplateId = null; - PackageData packageData = PackageWrapperUtil.getPackageData(packageMeta); - String destPath = File.separator + path; - boolean uploadResult = FileManagerFactory.createFileManager().upload(tempDirName, destPath); - if (uploadResult == true) { - List existPackageDatas = - PackageManager.getInstance().queryPackage(packageData.getName(), - packageData.getProvider(), packageData.getVersion(), null, packageData.getType()); - if (null != existPackageDatas && existPackageDatas.size() > 0 - && existPackageDatas.get(0).getOnBoardState().equals("onBoarded")) { - LOG.error("Package onboarded. Can not be reupload! onBoardState = " - + existPackageDatas.get(0).getOnBoardState()); - return Response.serverError().build(); - } - packateDbData = PackageManager.getInstance().addPackage(packageData); - LOG.info("Store package data to database succed ! packateDbData = " - + ToolUtil.objectToString(packateDbData)); - try { - //undeploy operation package of the old csar. - if (null != existPackageDatas && existPackageDatas.size() > 0) { - LOG.info("undeploy operation package of the old csar package."); - for (int i = 0; i < existPackageDatas.size(); i++) { - ModelService.getInstance().undeployOperationPackage(existPackageDatas.get(i).getCsarId()); - } - } - - String tempCsarPath = tempDirName + File.separator + fileName; - serviceTemplateId = ModelParserFactory.getInstance().parse(packateDbData.getCsarId(), - tempCsarPath, PackageWrapperUtil.getPackageFormat(packateDbData.getFormat())); - LOG.info("Package parse success ! serviceTemplateId = " + serviceTemplateId); - } catch (Exception e1) { - LOG.error("Parse package error ! Delete the package data from database"); - //String packagePath = PackageWrapperUtil.getPackagePath(packageData.getCsarId()); - //FileManagerFactory.createFileManager().delete(packagePath); - //if (tempDirName != null) { - //ToolUtil.deleteDir(new File(tempDirName)); - //} - PackageManager.getInstance().deletePackage(packateDbData.getCsarId()); - throw new Exception(e1); - } - - if (null != packateDbData && null == serviceTemplateId) { - LOG.info("Service template Id is null !"); - PackageManager.getInstance().deletePackage(packateDbData.getCsarId()); - } - //delete the redundant package data and template data while reupload the same package success. - if (null != existPackageDatas && existPackageDatas.size() > 0) { - LOG.warn("The package already exist ! Begin to delete the orgin data and reupload !"); - for (int i = 0; i < existPackageDatas.size(); i++) { - this.delPackageTemplateData(existPackageDatas.get(i).getCsarId()); - } - } - LOG.info("upload package file end, fileName:" + fileName); - result.setCsarId(packateDbData.getCsarId()); - if (tempDirName != null) { - ToolUtil.deleteDir(new File(tempDirName)); - } - } - } - return Response.ok(result).build(); - } - - - private void delPackageTemplateData(String csarId) { - String packagePath = PackageWrapperUtil.getPackagePath(csarId); - if (packagePath == null) { - LOG.error("package path is null! "); - return; - } - // delete template data from db - try { - ModelService.getInstance().deleteServiceTemplateData(csarId); - } catch (CatalogResourceException e2) { - LOG.error("delete template data from db error! csarId = " + csarId, e2); - return; - } - //delete package data from database - try { - PackageManager.getInstance().deletePackage(csarId); - } catch (CatalogResourceException e1) { - LOG.error("delete package by csarId from db error ! " + e1.getMessage(), e1); - return; - } - } - - /** - * delete package by package id. - * @param csarId package id - * @return Response - */ - public Response delPackage(String csarId) { - LOG.info("delete package info.csarId:" + csarId); - if (ToolUtil.isEmptyString(csarId)) { - LOG.error("delete package fail, csarid is null"); - return Response.serverError().build(); - } - try { - DelCsarThread thread = new DelCsarThread(csarId, false); - PackageData packageData = new PackageData(); - packageData.setProcessState(CommonConstant.PACKAGE_STATUS_DELETING); - PackageManager.getInstance().updatePackage(packageData, csarId); - new Thread(thread).start(); - return Response.noContent().build(); - } catch (Exception e1) { - LOG.error("delete fail." + e1.getMessage()); - PackageData packageData = new PackageData(); - packageData.setProcessState(CommonConstant.PACKAGE_STATUS_DELETE_FAIL); - try { - PackageManager.getInstance().updatePackage(packageData, csarId); - } catch (CatalogResourceException e2) { - LOG.error("Update package data failed." + e2.getMessage(), e2); - } - return RestUtil.getRestException(e1.getMessage()); - } - } - - private void publishDeletionPendingStatusCometdMessage(String csarid) { - try { - Map cometdMessage = new HashMap(); - cometdMessage.put("csarid", csarid); - cometdMessage.put("status", "deletionPending"); - CometdService.getInstance().publish(CommonConstant.COMETD_CHANNEL_PACKAGE_DELETE, - cometdMessage); - } catch (CometdException e1) { - LOG.error("publish delfinish cometdmsg fail.", e1); - } - } - - class DelCsarThread implements Runnable { - private String csarid; - private boolean isInstanceTemplate = false; - - public DelCsarThread(String csarid, boolean isInstanceTemplate) { - this.csarid = csarid; - this.isInstanceTemplate = isInstanceTemplate; - } - - @Override - public void run() { - try { - if (!ToolUtil.isEmptyString(csarid)) { - delCsarData(csarid); - } - } catch (Exception e1) { - LOG.error("del instance csar fail. " + e1.getMessage(), e1); - updatePackageStatus(csarid, null, null, null, CommonConstant.PACKAGE_STATUS_DELETE_FAIL, - null); - publishDelFinishCometdMessage(csarid, "false"); - } - } - - private void delCsarData(String csarId) { - updatePackageStatus(csarId, null, null, null, CommonConstant.PACKAGE_STATUS_DELETING, null); - String packagePath = PackageWrapperUtil.getPackagePath(csarId); - if (packagePath == null) { - LOG.error("package path is null! "); - return; - } - boolean delFileFromHttp = FileManagerFactory.createFileManager().delete(packagePath); - // delete template data from db - try { - ModelService.getInstance().delete(csarId); - } catch (CatalogResourceException e2) { - LOG.error("delete template data from db error! csarId = " + csarId, e2); - publishDelFinishCometdMessage(csarId, "Delete template data failed! " + e2.getMessage()); - return; - } - //delete package data from database - try { - PackageManager.getInstance().deletePackage(csarId); - } catch (CatalogResourceException e1) { - LOG.error("delete package by csarId from db error ! " + e1.getMessage(), e1); - publishDelFinishCometdMessage(csarId, "Delete package data failed! " + e1.getMessage()); - return; - } - publishDelFinishCometdMessage(csarId, "true"); - } - - private void publishDelFinishCometdMessage(String csarId, String csarDelStatus) { - if (isInstanceTemplate) { - LOG.info("delete instance Template finish. csarid:{}", csarId); - return; - } - try { - Map cometdMessage = new HashMap(); - cometdMessage.put("csarid", csarId); - cometdMessage.put("status", csarDelStatus); - CometdService.getInstance().publish(CommonConstant.COMETD_CHANNEL_PACKAGE_DELETE, - cometdMessage); - } catch (CometdException e1) { - LOG.error("publish delfinish cometdmsg fail." + e1.getMessage(), e1); - } - } - } - - /** - * update package status. - * @param csarId package id - * @param operationalState package operational state - * @param usageState package usage state - * @param onBoardState package onboard state - * @param processState package process state - * @param deletionPending package deletionPending status - * @return Response - */ - public Response updatePackageStatus(String csarId, String operationalState, String usageState, - String onBoardState, String processState, String deletionPending) { - LOG.info("update package status info.csarId:" + csarId + " operationalState:" + operationalState - + "usageState:" + usageState + "onBoardState:" + onBoardState + "processState:" - + processState + "deletionPending" + deletionPending); - if (ToolUtil.isEmptyString(csarId)) { - LOG.error("update csar status fail, csarid is null"); - return Response.serverError().build(); - } - try { - // UpdatePackageResponse result = new UpdatePackageResponse(); - PackageData packageInfo = new PackageData(); - if (operationalState != null) { - packageInfo.setOperationalState(operationalState); - } - if (usageState != null) { - packageInfo.setUsageState(usageState); - } - if (onBoardState != null) { - packageInfo.setOnBoardState(onBoardState); - } - if (processState != null) { - packageInfo.setProcessState(processState); - } - if (deletionPending != null) { - packageInfo.setDeletionPending(deletionPending); - } - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String currentTime = sdf1.format(new Date()); - packageInfo.setModifyTime(currentTime); - PackageManager.getInstance().updatePackage(packageInfo, csarId); - // ArrayList pacackgeList = PackageWrapperUtil.getPackageInfoById(csarId); - // String finalUsageState = pacackgeList.get(0).getUsageState(); - // result.setUsageState(finalUsageState); - return Response.ok().build(); - } catch (CatalogResourceException e1) { - LOG.error("update package status by csarId from db error ! " + e1.getMessage()); - return RestUtil.getRestException(e1.getMessage()); - } - } - - /** - * download package by package id. - * @param csarId package id - * @return Response - */ - public Response downloadCsarPackagesById(String csarId) { - PackageData packageData = PackageWrapperUtil.getPackageInfoById(csarId); - String packageName = null; - packageName = packageData.getName(); - String path = ToolUtil.getCatalogueCsarPath() + File.separator + packageName; - File csarFile = new File(path); - if (!csarFile.exists()) { - return Response.status(Status.NOT_FOUND).build(); - } - - try { - InputStream fis = new BufferedInputStream(new FileInputStream(path)); - return Response.ok(fis) - .header("Content-Disposition", "attachment; filename=\"" + csarFile.getName() + "\"") - .build(); - } catch (Exception e1) { - LOG.error("download vnf package fail.", e1); - return RestUtil.getRestException(e1.getMessage()); - } - } - - /** - * query package list by condition. - * @param name package name - * @param provider package provider - * @param version package version - * @param deletionPending package deletionPending - * @param type package type - * @return Response - */ - public Response queryPackageListByCond(String name, String provider, String version, - String deletionPending, String type) { - ArrayList dbresult = new ArrayList(); - ArrayList result = new ArrayList(); - LOG.info("query package info.name:" + name + " provider:" + provider + " version" + version - + " deletionPending" + deletionPending + " type:" + type); - try { - dbresult = - PackageManager.getInstance().queryPackage(name, provider, version, deletionPending, type); - result = PackageWrapperUtil.packageDataList2PackageMetaList(dbresult); - return Response.ok(result).build(); - } catch (CatalogResourceException e1) { - LOG.error("query package by csarId from db error ! " + e1.getMessage()); - return RestUtil.getRestException(e1.getMessage()); - } - } - - /** - * get package file uri. - * @param csarId package id - * @param relativePath file relative path - * @return Response - */ - public Response getCsarFileUri(String csarId, String relativePath) { - try { - CsarFileUriResponse result = getCsarFileDownloadUri(csarId, relativePath); - return Response.ok(result).build(); - } catch (CatalogResourceException e1) { - LOG.error("Query CSAR package by ID failed ! csarId = " + csarId); - } - - return Response.serverError().build(); - } - - /** - * get package file download uri. - * @param csarId package id - * @param relativePath package file relative path - * @return CsarFileUriResponse - * @throws CatalogResourceException e - */ - public CsarFileUriResponse getCsarFileDownloadUri(String csarId, String relativePath) - throws CatalogResourceException { - CsarFileUriResponse result = new CsarFileUriResponse(); - String downloadUrl = null; - String downloadUri = null; - String localPath = null; - ArrayList packageList = PackageManager.getInstance().queryPackageByCsarId(csarId); - if (packageList != null && packageList.size() != 0) { - String packageName = packageList.get(0).getName(); - String relativeUri = packageList.get(0).getDownloadUri() + packageName; - downloadUri = relativeUri + relativePath; - downloadUrl = PackageWrapperUtil.getUrl(downloadUri); - String httpUri = HttpServerPathConfig.getHttpServerPath() + downloadUri; - localPath = PackageWrapperUtil.getLocalPath(httpUri); - } - result.setDownloadUri(downloadUrl); - result.setLocalPath(localPath); - return result; - } - - -} diff --git a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapperUtil.java b/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapperUtil.java deleted file mode 100644 index abb890c2..00000000 --- a/catalog-core/catalog-mgr/src/main/java/org/openo/commontosca/catalog/wrapper/PackageWrapperUtil.java +++ /dev/null @@ -1,456 +0,0 @@ -/** - * Copyright 2016-2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.commontosca.catalog.wrapper; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; - -import org.openo.commontosca.catalog.common.CommonConstant; -import org.openo.commontosca.catalog.common.FileUtil; -import org.openo.commontosca.catalog.common.HttpServerAddrConfig; -import org.openo.commontosca.catalog.common.MsbAddrConfig; -import org.openo.commontosca.catalog.common.ToolUtil; -import org.openo.commontosca.catalog.db.entity.PackageData; -import org.openo.commontosca.catalog.db.exception.CatalogResourceException; -import org.openo.commontosca.catalog.db.resource.PackageManager; -import org.openo.commontosca.catalog.entity.CsarPackage; -import org.openo.commontosca.catalog.entity.EnumOnboardState; -import org.openo.commontosca.catalog.entity.EnumOperationalState; -import org.openo.commontosca.catalog.entity.EnumProcessState; -import org.openo.commontosca.catalog.entity.EnumType; -import org.openo.commontosca.catalog.entity.EnumUsageState; -import org.openo.commontosca.catalog.entity.request.PackageBasicInfo; -import org.openo.commontosca.catalog.entity.response.PackageMeta; -import org.openo.commontosca.catalog.ftp.Ftp; -import org.openo.commontosca.catalog.ftp.FtpUtil; -import org.openo.commontosca.catalog.model.entity.ServiceTemplate; -import org.openo.commontosca.catalog.model.externalservice.entity.lifecycle.InstanceEntity; -import org.openo.commontosca.catalog.model.externalservice.lifecycle.LifeCycleServiceConsumer; -import org.openo.commontosca.catalog.model.parser.EnumPackageFormat; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashSet; -import java.util.List; - -import javax.ws.rs.NotFoundException; - -public class PackageWrapperUtil { - private static final Logger LOG = LoggerFactory.getLogger(PackageWrapperUtil.class); - - - /** - * change json to object list. - * @param packageJson json - * @return package list - */ - public static List formJson2Packages(String packageJson) { - List packageList = - new Gson().fromJson(packageJson, new TypeToken>() {}.getType()); - if (null == packageList || packageList.size() == 0) { - throw new NotFoundException("Package do not exist"); - } - return packageList; - } - - public static long getPacakgeSize(String fileLocation) { - File file = new File(fileLocation); - return file.length(); - } - - /** - * change package metadata to fix database. - * @param meta package metadata - * @return package data in database - */ - public static PackageData getPackageData(PackageMeta meta) { - PackageData packageData = new PackageData(); - packageData.setCreateTime(meta.getCreateTime()); - packageData.setDeletionPending(String.valueOf(meta.isDeletionPending())); - packageData.setDownloadUri(meta.getDownloadUri()); - packageData.setFormat(meta.getFormat()); - packageData.setModifyTime(meta.getModifyTime()); - packageData.setName(meta.getName()); - packageData.setCsarId(meta.getCsarId()); - packageData.setOperationalState(meta.getOperationalState().toString()); - packageData.setProvider(meta.getProvider()); - String fileSize = meta.getSize(); - packageData.setSize(fileSize); - packageData.setType(meta.getType()); - packageData.setUsageState(meta.getUsageState().toString()); - packageData.setVersion(meta.getVersion()); - packageData.setOnBoardState(meta.getOnBoardState()); - packageData.setProcessState(meta.getProcessState().toString()); - return packageData; - } - - /** - * judge wether is the end of upload package. - * @param contentRange package sise range - * @param csarName package name - * @return boolean - */ - public static boolean isUploadEnd(String contentRange, String csarName) { - String range = contentRange; - range = range.replace("bytes", "").trim(); - range = range.substring(0, range.indexOf("/")); - String size = - contentRange.substring(contentRange.indexOf("/") + 1, contentRange.length()).trim(); - int fileSize = Integer.parseInt(size); - String[] ranges = range.split("-"); - int startPosition = Integer.parseInt(ranges[0]); - if (startPosition == 0) { - // delPackageBySync(csarName); - } - // index start from 0 - int endPosition = Integer.parseInt(ranges[1]) + 1; - if (endPosition >= fileSize) { - return true; - } - return false; - } - - /** - * get package detail by package id. - * @param csarId package id - * @return package detail - */ - public static PackageData getPackageInfoById(String csarId) { - PackageData result = new PackageData(); - ArrayList packageDataList = new ArrayList(); - try { - packageDataList = PackageManager.getInstance().queryPackageByCsarId(csarId); - if (packageDataList != null && packageDataList.size() > 0) { - result = PackageManager.getInstance().queryPackageByCsarId(csarId).get(0); - } - } catch (CatalogResourceException e1) { - LOG.error("query package by csarId from db error ! " + e1.getMessage()); - } - return result; - } - - /** - * get package metadata from basic info. - * @param fileName package name - * @param fileLocation the location of package - * @param basic basic infomation of package. include version, type and provider - * @return package metadata - */ - public static PackageMeta getPackageMeta(String fileName, String fileLocation, - PackageBasicInfo basic) { - PackageMeta packageMeta = new PackageMeta(); - long size = getPacakgeSize(fileLocation); - packageMeta.setFormat(basic.getFormat()); - String packageId = ToolUtil.generateId(); - packageMeta.setName(fileName.replace(CommonConstant.CSAR_SUFFIX, "")); - packageMeta.setCsarId(packageId); - packageMeta.setType(basic.getType().toString()); - packageMeta.setVersion(basic.getVersion()); - packageMeta.setProvider(basic.getProvider()); - packageMeta.setDeletionPending(false); - String sizeStr = ToolUtil.getFormatFileSize(size); - packageMeta.setSize(sizeStr); - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String currentTime = sdf1.format(new Date()); - packageMeta.setCreateTime(currentTime); - packageMeta.setModifyTime(currentTime); - packageMeta.setOperationalState(EnumOperationalState.Disabled); - packageMeta.setUsageState(EnumUsageState.NotInUse); - packageMeta.setOnBoardState(EnumOnboardState.nonOnBoarded.getValue()); - packageMeta.setProcessState(EnumProcessState.normal); - return packageMeta; - } - - /** - * get downloadUri from package metadata. - * @param csarId package id - * @return download uri - */ - public static String getPackagePath(String csarId) { - ArrayList packageList = new ArrayList(); - String downloadUri = null; - try { - packageList = PackageManager.getInstance().queryPackageByCsarId(csarId); - downloadUri = packageList.get(0).getDownloadUri(); - } catch (CatalogResourceException e1) { - LOG.error("Query CSAR package by ID failed ! csarId = " + csarId); - } - return downloadUri; - } - - - /** - * convert instance to hashset. - * @param instancelist instance list - * @return HashSet - */ - public static HashSet instanceConvertToHashSet(ArrayList instancelist) { - HashSet result = new HashSet(); - if (instancelist != null) { - for (InstanceEntity instance : instancelist) { - result.add(instance.getServiceTemplateId()); - } - } - return result; - } - - /** - * get ftp detail information. - * @param ftpUrl ftp url - * @return ftp detail - */ - public static Ftp getFtpDetail(String ftpUrl) { - Ftp ftp = new Ftp(); - int index1 = ftpUrl.indexOf("ftp://"); - int index2 = ftpUrl.indexOf("@"); - String userPassSubString = ftpUrl.substring(index1, index2); - int index3 = userPassSubString.indexOf(":"); - String userName = userPassSubString.substring(0, index3); - String pass = userPassSubString.substring(index3 + 1); - String subString1 = ftpUrl.substring(index2 + 1); - int index4 = subString1.indexOf("/"); - String ipPortSubString = subString1.substring(0, index4); - int index5 = ipPortSubString.indexOf(":"); - String ip = ipPortSubString.substring(0, index5); - String port = ipPortSubString.substring(index5 + 1); - int index6 = ftpUrl.lastIndexOf("/"); - String path = ftpUrl.substring(0, index6); - ftp.setIpAddr(ip); - ftp.setPath(path); - ftp.setPort(Integer.valueOf(port)); - ftp.setPwd(pass); - ftp.setUserName(userName); - return ftp; - } - - /** - * get package name from ftpUrl. - * @param ftpUrl ftp url - * @return package name - */ - public static String getPackageName(String ftpUrl) { - int index = ftpUrl.lastIndexOf("/"); - String packageName = ftpUrl.substring(index); - return packageName; - } - - /** - * download package from ftp. - * @param ftpUrl ftp url - * @param tempDirName temp directory - */ - public static void downPackageFromFtp(String ftpUrl, String tempDirName) { - Ftp ftp = new Ftp(); - ftp = PackageWrapperUtil.getFtpDetail(ftpUrl); - String remoteBaseDir = ftp.getPath(); - try { - FtpUtil.startDown(ftp, tempDirName, remoteBaseDir); - } catch (Exception e1) { - LOG.error("Down package from ftp failed !"); - } - } - - /** - * translate package data from database to package metadata. - * @param dbResult data from database - * @return package metadata list - */ - public static ArrayList packageDataList2PackageMetaList( - ArrayList dbResult) { - ArrayList metas = new ArrayList(); - PackageMeta meta = new PackageMeta(); - if (dbResult.size() > 0) { - for (int i = 0; i < dbResult.size(); i++) { - PackageData data = dbResult.get(i); - meta = packageData2PackageMeta(data); - metas.add(meta); - } - } - return metas; - } - - /** - * get onboarded enum value. - * @param value onboard value - * @return enum - */ - public static EnumOnboardState getEnumByValue(String value) { - if (value == "non-onBoarded") { - return EnumOnboardState.nonOnBoarded; - } else { - return EnumOnboardState.onBoarded; - } - } - - public static PackageMeta packageData2PackageMeta(PackageData packageData) { - PackageMeta meta = new PackageMeta(); - meta.setCsarId(packageData.getCsarId()); - meta.setCreateTime(packageData.getCreateTime()); - meta.setDeletionPending(Boolean.valueOf(packageData.getDeletionPending())); - String packageUri = - packageData.getDownloadUri() + packageData.getName() + CommonConstant.CSAR_SUFFIX; - String packageUrl = getUrl(packageUri); - meta.setDownloadUri(packageUrl); - meta.setFormat(packageData.getFormat()); - meta.setModifyTime(packageData.getModifyTime()); - meta.setName(packageData.getName()); - meta.setOperationalState(EnumOperationalState.valueOf(packageData.getOperationalState())); - meta.setProvider(packageData.getProvider()); - meta.setSize(packageData.getSize()); - meta.setType(packageData.getType()); - meta.setUsageState(EnumUsageState.valueOf(packageData.getUsageState())); - meta.setVersion(packageData.getVersion()); - meta.setOnBoardState(packageData.getOnBoardState()); - String processState = packageData.getProcessState(); - if (processState.equals("deletefail")) { - processState = "deleteFailed"; - } - meta.setProcessState(EnumProcessState.valueOf(processState)); - return meta; - } - - /** - * add msb address as prefix to uri. - * @param uri uri - * @return url - */ - public static String getUrl(String uri) { - String url = null; -// if ((MsbAddrConfig.getMsbAddress().endsWith("/")) && uri.startsWith("/")) { -// url = MsbAddrConfig.getMsbAddress() + uri.substring(1); -// } -// url = MsbAddrConfig.getMsbAddress() + uri; - if ((getDownloadUriHead().endsWith("/")) && uri.startsWith("/")) { - url = getDownloadUriHead() + uri.substring(1); - } - url = getDownloadUriHead() + uri; - String urlresult = url.replace("\\", "/"); - return urlresult; - } - - public static String getDownloadUriHead() { - return MsbAddrConfig.getMsbAddress() + "/files/catalog-http"; - } - - /** - * get local path. - * @param uri uri - * @return local path - */ - public static String getLocalPath(String uri) { - File srcDir = new File(uri); - String localPath = srcDir.getAbsolutePath(); - return localPath.replace("\\", "/"); - } - - /** - * get package basic information. - * @param fileLocation package location - * @return package basic information - */ - public static PackageBasicInfo getPacageBasicInfo(String fileLocation) { - PackageBasicInfo basicInfo = new PackageBasicInfo(); - String unzipDir = ToolUtil.getUnzipDir(fileLocation); - boolean isXmlCsar = false; - try { - String tempfolder = unzipDir; - ArrayList unzipFiles = FileUtil.unzip(fileLocation, tempfolder); - if (unzipFiles.isEmpty()) { - isXmlCsar = true; - } - for (String unzipFile : unzipFiles) { - if (unzipFile.endsWith(CommonConstant.CSAR_META)) { - basicInfo = readCsarMeta(unzipFile); - } - if (ToolUtil.isYamlFile(new File(unzipFile))) { - isXmlCsar = false; - } - } - } catch (IOException e1) { - LOG.error("judge package type error ! " + e1.getMessage()); - } - if (isXmlCsar) { - basicInfo.setFormat(CommonConstant.PACKAGE_XML_FORMAT); - } else { - basicInfo.setFormat(CommonConstant.PACKAGE_YAML_FORMAT); - } - return basicInfo; - } - - private static PackageBasicInfo readCsarMeta(String unzipFile) { - PackageBasicInfo basicInfo = new PackageBasicInfo(); - File file = new File(unzipFile); - BufferedReader reader = null; - try { - reader = new BufferedReader(new FileReader(file)); - String tempString = null; - while ((tempString = reader.readLine()) != null) { - if (!tempString.equals("")) { - int count1 = tempString.indexOf(":"); - String meta = tempString.substring(0, count1).trim(); - if (meta.equalsIgnoreCase(CommonConstant.CSAR_TYPE_META)) { - int count = tempString.indexOf(":") + 1; - basicInfo.setType(EnumType.valueOf(tempString.substring(count).trim())); - } - if (meta.equalsIgnoreCase(CommonConstant.CSAR_PROVIDER_META)) { - int count = tempString.indexOf(":") + 1; - basicInfo.setProvider(tempString.substring(count).trim()); - } - if (meta.equalsIgnoreCase(CommonConstant.CSAR_VERSION_META)) { - int count = tempString.indexOf(":") + 1; - basicInfo.setVersion(tempString.substring(count).trim()); - } - } - } - reader.close(); - } catch (IOException e2) { - e2.printStackTrace(); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e1) { - LOG.error("close reader failed ! " + e1.getMessage()); - } - } - } - return basicInfo; - } - - /** - * get package format enum. - * @param format package format - * @return package format enum - */ - public static EnumPackageFormat getPackageFormat(String format) { - if (format.equals("xml")) { - return EnumPackageFormat.TOSCA_XML; - } else if (format.equals("yml") || format.equals("yaml")) { - return EnumPackageFormat.TOSCA_YAML; - } else { - return null; - } - } -} diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/META-INF/MANIFEST.MF b/catalog-core/catalog-mgr/src/main/resources/api-doc/META-INF/MANIFEST.MF deleted file mode 100644 index eaf90a94..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Created-By: 1.7.0_72 (Oracle Corporation) - diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/WEB-INF/web.xml b/catalog-core/catalog-mgr/src/main/resources/api-doc/WEB-INF/web.xml deleted file mode 100644 index 2a5346c4..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/WEB-INF/web.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - ZENAP API-DOC. - - ZENAP API-DOC - - - - - index.html - index.xhtml - index.htm - index.jsp - - - - diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/reset.css b/catalog-core/catalog-mgr/src/main/resources/api-doc/css/reset.css deleted file mode 100644 index d4945322..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/reset.css +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block; -} -body { - line-height: 1; -} -ol, -ul { - list-style: none; -} -blockquote, -q { - quotes: none; -} -blockquote:before, -blockquote:after, -q:before, -q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/screen.css b/catalog-core/catalog-mgr/src/main/resources/api-doc/css/screen.css deleted file mode 100644 index caeace3d..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/screen.css +++ /dev/null @@ -1,1271 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* Original style from softwaremaniacs.org (c) Ivan Sagalaev */ -.swagger-section pre code { - display: block; - padding: 0.5em; - background: #F0F0F0; -} -.swagger-section pre code, -.swagger-section pre .subst, -.swagger-section pre .tag .title, -.swagger-section pre .lisp .title, -.swagger-section pre .clojure .built_in, -.swagger-section pre .nginx .title { - color: black; -} -.swagger-section pre .string, -.swagger-section pre .title, -.swagger-section pre .constant, -.swagger-section pre .parent, -.swagger-section pre .tag .value, -.swagger-section pre .rules .value, -.swagger-section pre .rules .value .number, -.swagger-section pre .preprocessor, -.swagger-section pre .ruby .symbol, -.swagger-section pre .ruby .symbol .string, -.swagger-section pre .aggregate, -.swagger-section pre .template_tag, -.swagger-section pre .django .variable, -.swagger-section pre .smalltalk .class, -.swagger-section pre .addition, -.swagger-section pre .flow, -.swagger-section pre .stream, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .apache .cbracket, -.swagger-section pre .tex .command, -.swagger-section pre .tex .special, -.swagger-section pre .erlang_repl .function_or_atom, -.swagger-section pre .markdown .header { - color: #800; -} -.swagger-section pre .comment, -.swagger-section pre .annotation, -.swagger-section pre .template_comment, -.swagger-section pre .diff .header, -.swagger-section pre .chunk, -.swagger-section pre .markdown .blockquote { - color: #888; -} -.swagger-section pre .number, -.swagger-section pre .date, -.swagger-section pre .regexp, -.swagger-section pre .literal, -.swagger-section pre .smalltalk .symbol, -.swagger-section pre .smalltalk .char, -.swagger-section pre .go .constant, -.swagger-section pre .change, -.swagger-section pre .markdown .bullet, -.swagger-section pre .markdown .link_url { - color: #080; -} -.swagger-section pre .label, -.swagger-section pre .javadoc, -.swagger-section pre .ruby .string, -.swagger-section pre .decorator, -.swagger-section pre .filter .argument, -.swagger-section pre .localvars, -.swagger-section pre .array, -.swagger-section pre .attr_selector, -.swagger-section pre .important, -.swagger-section pre .pseudo, -.swagger-section pre .pi, -.swagger-section pre .doctype, -.swagger-section pre .deletion, -.swagger-section pre .envvar, -.swagger-section pre .shebang, -.swagger-section pre .apache .sqbracket, -.swagger-section pre .nginx .built_in, -.swagger-section pre .tex .formula, -.swagger-section pre .erlang_repl .reserved, -.swagger-section pre .prompt, -.swagger-section pre .markdown .link_label, -.swagger-section pre .vhdl .attribute, -.swagger-section pre .clojure .attribute, -.swagger-section pre .coffeescript .property { - color: #8888ff; -} -.swagger-section pre .keyword, -.swagger-section pre .id, -.swagger-section pre .phpdoc, -.swagger-section pre .title, -.swagger-section pre .built_in, -.swagger-section pre .aggregate, -.swagger-section pre .css .tag, -.swagger-section pre .javadoctag, -.swagger-section pre .phpdoc, -.swagger-section pre .yardoctag, -.swagger-section pre .smalltalk .class, -.swagger-section pre .winutils, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .go .typename, -.swagger-section pre .tex .command, -.swagger-section pre .markdown .strong, -.swagger-section pre .request, -.swagger-section pre .status { - font-weight: bold; -} -.swagger-section pre .markdown .emphasis { - font-style: italic; -} -.swagger-section pre .nginx .built_in { - font-weight: normal; -} -.swagger-section pre .coffeescript .javascript, -.swagger-section pre .javascript .xml, -.swagger-section pre .tex .formula, -.swagger-section pre .xml .javascript, -.swagger-section pre .xml .vbscript, -.swagger-section pre .xml .css, -.swagger-section pre .xml .cdata { - opacity: 0.5; -} -.swagger-section .swagger-ui-wrap { - line-height: 1; - font-family: "Droid Sans", sans-serif; - max-width: 960px; - margin-left: auto; - margin-right: auto; -} -.swagger-section .swagger-ui-wrap b, -.swagger-section .swagger-ui-wrap strong { - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap q, -.swagger-section .swagger-ui-wrap blockquote { - quotes: none; -} -.swagger-section .swagger-ui-wrap p { - line-height: 1.4em; - padding: 0 0 10px; - color: #333333; -} -.swagger-section .swagger-ui-wrap q:before, -.swagger-section .swagger-ui-wrap q:after, -.swagger-section .swagger-ui-wrap blockquote:before, -.swagger-section .swagger-ui-wrap blockquote:after { - content: none; -} -.swagger-section .swagger-ui-wrap .heading_with_menu h1, -.swagger-section .swagger-ui-wrap .heading_with_menu h2, -.swagger-section .swagger-ui-wrap .heading_with_menu h3, -.swagger-section .swagger-ui-wrap .heading_with_menu h4, -.swagger-section .swagger-ui-wrap .heading_with_menu h5, -.swagger-section .swagger-ui-wrap .heading_with_menu h6 { - display: block; - clear: none; - float: left; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - width: 60%; -} -.swagger-section .swagger-ui-wrap table { - border-collapse: collapse; - border-spacing: 0; -} -.swagger-section .swagger-ui-wrap table thead tr th { - padding: 5px; - font-size: 0.9em; - color: #666666; - border-bottom: 1px solid #999999; -} -.swagger-section .swagger-ui-wrap table tbody tr:last-child td { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap table tbody tr.offset { - background-color: #f0f0f0; -} -.swagger-section .swagger-ui-wrap table tbody tr td { - padding: 6px; - font-size: 0.9em; - border-bottom: 1px solid #cccccc; - vertical-align: top; - line-height: 1.3em; -} -.swagger-section .swagger-ui-wrap ol { - margin: 0px 0 10px; - padding: 0 0 0 18px; - list-style-type: decimal; -} -.swagger-section .swagger-ui-wrap ol li { - padding: 5px 0px; - font-size: 0.9em; - color: #333333; -} -.swagger-section .swagger-ui-wrap ol, -.swagger-section .swagger-ui-wrap ul { - list-style: none; -} -.swagger-section .swagger-ui-wrap h1 a, -.swagger-section .swagger-ui-wrap h2 a, -.swagger-section .swagger-ui-wrap h3 a, -.swagger-section .swagger-ui-wrap h4 a, -.swagger-section .swagger-ui-wrap h5 a, -.swagger-section .swagger-ui-wrap h6 a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap h1 a:hover, -.swagger-section .swagger-ui-wrap h2 a:hover, -.swagger-section .swagger-ui-wrap h3 a:hover, -.swagger-section .swagger-ui-wrap h4 a:hover, -.swagger-section .swagger-ui-wrap h5 a:hover, -.swagger-section .swagger-ui-wrap h6 a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap h1 span.divider, -.swagger-section .swagger-ui-wrap h2 span.divider, -.swagger-section .swagger-ui-wrap h3 span.divider, -.swagger-section .swagger-ui-wrap h4 span.divider, -.swagger-section .swagger-ui-wrap h5 span.divider, -.swagger-section .swagger-ui-wrap h6 span.divider { - color: #aaaaaa; -} -.swagger-section .swagger-ui-wrap a { - color: #547f00; -} -.swagger-section .swagger-ui-wrap a img { - border: none; -} -.swagger-section .swagger-ui-wrap article, -.swagger-section .swagger-ui-wrap aside, -.swagger-section .swagger-ui-wrap details, -.swagger-section .swagger-ui-wrap figcaption, -.swagger-section .swagger-ui-wrap figure, -.swagger-section .swagger-ui-wrap footer, -.swagger-section .swagger-ui-wrap header, -.swagger-section .swagger-ui-wrap hgroup, -.swagger-section .swagger-ui-wrap menu, -.swagger-section .swagger-ui-wrap nav, -.swagger-section .swagger-ui-wrap section, -.swagger-section .swagger-ui-wrap summary { - display: block; -} -.swagger-section .swagger-ui-wrap pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; -} -.swagger-section .swagger-ui-wrap pre code { - line-height: 1.6em; - background: none; -} -.swagger-section .swagger-ui-wrap .content > .content-type > div > label { - clear: both; - display: block; - color: #0F6AB4; - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap .content pre { - font-size: 12px; - margin-top: 5px; - padding: 5px; -} -.swagger-section .swagger-ui-wrap .icon-btn { - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .info_title { - padding-bottom: 10px; - font-weight: bold; - font-size: 25px; -} -.swagger-section .swagger-ui-wrap p.big, -.swagger-section .swagger-ui-wrap div.big p { - font-size: 1em; - margin-bottom: 10px; -} -.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input { - width: 500px !important; -} -.swagger-section .swagger-ui-wrap .info_license { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_tos { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .message-fail { - color: #cc0000; -} -.swagger-section .swagger-ui-wrap .info_url { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_email { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_name { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_description { - padding-bottom: 10px; - font-size: 15px; -} -.swagger-section .swagger-ui-wrap .markdown ol li, -.swagger-section .swagger-ui-wrap .markdown ul li { - padding: 3px 0px; - line-height: 1.4em; - color: #333333; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input { - display: block; - padding: 4px; - width: auto; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title { - font-size: 1.3em; -} -.swagger-section .swagger-ui-wrap table.fullwidth { - width: 100%; -} -.swagger-section .swagger-ui-wrap .model-signature { - font-family: "Droid Sans", sans-serif; - font-size: 1em; - line-height: 1.5em; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a { - text-decoration: none; - color: #AAA; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap .model-signature .propType { - color: #5555aa; -} -.swagger-section .swagger-ui-wrap .model-signature pre:hover { - background-color: #ffffdd; -} -.swagger-section .swagger-ui-wrap .model-signature pre { - font-size: .85em; - line-height: 1.2em; - overflow: auto; - max-height: 200px; - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav { - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li { - float: left; - margin: 0 5px 5px 0; - padding: 2px 5px 2px 0; - border-right: 1px solid #ddd; -} -.swagger-section .swagger-ui-wrap .model-signature .propOpt { - color: #555; -} -.swagger-section .swagger-ui-wrap .model-signature .snippet small { - font-size: 0.75em; -} -.swagger-section .swagger-ui-wrap .model-signature .propOptKey { - font-style: italic; -} -.swagger-section .swagger-ui-wrap .model-signature .description .strong { - font-weight: bold; - color: #000; - font-size: .9em; -} -.swagger-section .swagger-ui-wrap .model-signature .description div { - font-size: 0.9em; - line-height: 1.5em; - margin-left: 1em; -} -.swagger-section .swagger-ui-wrap .model-signature .description .stronger { - font-weight: bold; - color: #000; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper { - border-spacing: 0; - position: absolute; - background-color: #ffffff; - border: 1px solid #bbbbbb; - display: none; - font-size: 11px; - max-width: 400px; - line-height: 30px; - color: black; - padding: 5px; - margin-left: 10px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th { - text-align: center; - background-color: #eeeeee; - border: 1px solid #bbbbbb; - font-size: 11px; - color: #666666; - font-weight: bold; - padding: 5px; - line-height: 15px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .propName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-container { - clear: both; -} -.swagger-section .swagger-ui-wrap .body-textarea { - width: 300px; - height: 100px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap .markdown p code, -.swagger-section .swagger-ui-wrap .markdown li code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #f0f0f0; - color: black; - padding: 1px 3px; -} -.swagger-section .swagger-ui-wrap .required { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap input.parameter { - width: 300px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap h1 { - color: black; - font-size: 1.5em; - line-height: 1.3em; - padding: 10px 0 10px 0; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .heading_with_menu { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap .heading_with_menu ul { - display: block; - clear: none; - float: right; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; -} -.swagger-section .swagger-ui-wrap h2 { - color: black; - font-size: 1.3em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap h2 span.sub { - font-size: 0.7em; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap h2 span.sub a { - color: #777777; -} -.swagger-section .swagger-ui-wrap span.weak { - color: #666666; -} -.swagger-section .swagger-ui-wrap .message-success { - color: #89BF04; -} -.swagger-section .swagger-ui-wrap caption, -.swagger-section .swagger-ui-wrap th, -.swagger-section .swagger-ui-wrap td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} -.swagger-section .swagger-ui-wrap .code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea { - font-family: "Droid Sans", sans-serif; - height: 250px; - padding: 4px; - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select { - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label { - display: block; - float: left; - clear: none; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input { - display: block; - float: left; - clear: none; - margin: 0 5px 0 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label { - color: black; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label { - display: block; - clear: both; - width: auto; - padding: 0 0 3px; - color: #666666; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr { - padding-left: 3px; - color: #888888; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints { - margin-left: 0; - font-style: italic; - font-size: 0.9em; - margin: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap span.blank, -.swagger-section .swagger-ui-wrap span.empty { - color: #888888; - font-style: italic; -} -.swagger-section .swagger-ui-wrap .markdown h3 { - color: #547f00; -} -.swagger-section .swagger-ui-wrap .markdown h4 { - color: #666666; -} -.swagger-section .swagger-ui-wrap .markdown pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; - margin: 0 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown pre code { - line-height: 1.6em; -} -.swagger-section .swagger-ui-wrap div.gist { - margin: 20px 0 25px 0 !important; -} -.swagger-section .swagger-ui-wrap ul#resources { - font-family: "Droid Sans", sans-serif; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource { - border-bottom: 1px solid #dddddd; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a { - color: #555555; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading { - border: 1px solid transparent; - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 14px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - border-right: 1px solid #dddddd; - color: #666666; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a { - color: #aaaaaa; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 { - color: #999999; - padding-left: 0; - display: block; - clear: none; - float: left; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a { - color: #999999; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0 0 10px; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 { - display: block; - clear: none; - float: left; - width: auto; - margin: 0; - padding: 0; - line-height: 1.1em; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path { - padding-left: 10px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a { - text-transform: uppercase; - text-decoration: none; - color: white; - display: inline-block; - width: 50px; - font-size: 0.7em; - text-align: center; - padding: 7px 0 4px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - -o-border-radius: 2px; - -ms-border-radius: 2px; - -khtml-border-radius: 2px; - border-radius: 2px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 6px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content { - border-top: none; - padding: 10px; - -moz-border-radius-bottomleft: 6px; - -webkit-border-bottom-left-radius: 6px; - -o-border-bottom-left-radius: 6px; - -ms-border-bottom-left-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -o-border-bottom-right-radius: 6px; - -ms-border-bottom-right-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - margin: 0 0 20px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 { - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a { - padding: 4px 0 0 10px; - display: inline-block; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit { - display: block; - clear: none; - float: left; - padding: 6px 8px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber { - background-image: url('../images/throbber.gif'); - width: 128px; - height: 16px; - display: block; - clear: none; - float: right; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error { - outline: 2px solid black; - outline-color: #cc0000; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - padding: 10px; - font-size: 0.9em; - max-height: 400px; - overflow-y: auto; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading { - background-color: #f9f2e9; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a { - background-color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0e0ca; - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content { - background-color: #faf5ee; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #ffd20f; - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading { - background-color: #f5e8e8; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #e8c6c7; - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - background-color: #f7eded; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a { - color: #c8787a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading { - background-color: #e7f6ec; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a { - background-color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3e8d1; - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content { - background-color: #ebf7f0; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading { - background-color: #FCE9E3; - border: 1px solid #F5D5C3; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a { - background-color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0cecb; - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content { - background-color: #faf0ef; - border: 1px solid #f0cecb; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - border-top: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap p#colophon { - margin: 0 15px 40px 15px; - padding: 10px 0; - font-size: 0.8em; - border-top: 1px solid #dddddd; - font-family: "Droid Sans", sans-serif; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap p#colophon a { - text-decoration: none; - color: #547f00; -} -.swagger-section .swagger-ui-wrap h3 { - color: black; - font-size: 1.1em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown ol, -.swagger-section .swagger-ui-wrap .markdown ul { - font-family: "Droid Sans", sans-serif; - margin: 5px 0 10px; - padding: 0 0 0 18px; - list-style-type: disc; -} -.swagger-section .swagger-ui-wrap form.form_box { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box label { - color: #0f6ab4 !important; -} -.swagger-section .swagger-ui-wrap form.form_box input[type=submit] { - display: block; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box p.weak { - font-size: 0.8em; -} -.swagger-section .swagger-ui-wrap form.form_box p { - font-size: 0.9em; - padding: 0 0 15px; - color: #7e7b6d; -} -.swagger-section .swagger-ui-wrap form.form_box p a { - color: #646257; -} -.swagger-section .swagger-ui-wrap form.form_box p strong { - color: black; -} -.swagger-section .title { - font-style: bold; -} -.swagger-section .secondary_form { - display: none; -} -.swagger-section .main_image { - display: block; - margin-left: auto; - margin-right: auto; -} -.swagger-section .oauth_body { - margin-left: 100px; - margin-right: 100px; -} -.swagger-section .oauth_submit { - text-align: center; -} -.swagger-section .api-popup-dialog { - z-index: 10000; - position: absolute; - width: 500px; - background: #FFF; - padding: 20px; - border: 1px solid #ccc; - border-radius: 5px; - display: none; - font-size: 13px; - color: #777; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog p.error-msg { - padding-left: 5px; - padding-bottom: 5px; -} -.swagger-section .api-popup-dialog button.api-popup-authbtn { - height: 30px; -} -.swagger-section .api-popup-dialog button.api-popup-cancel { - height: 30px; -} -.swagger-section .api-popup-scopes { - padding: 10px 20px; -} -.swagger-section .api-popup-scopes li { - padding: 5px 0; - line-height: 20px; -} -.swagger-section .api-popup-scopes .api-scope-desc { - padding-left: 20px; - font-style: italic; -} -.swagger-section .api-popup-scopes li input { - position: relative; - top: 2px; -} -.swagger-section .api-popup-actions { - padding-top: 10px; -} -.swagger-section .access { - float: right; -} -.swagger-section .auth { - float: right; -} -.swagger-section #api_information_panel { - position: absolute; - background: #FFF; - border: 1px solid #ccc; - border-radius: 5px; - display: none; - font-size: 13px; - max-width: 300px; - line-height: 30px; - color: black; - padding: 5px; -} -.swagger-section #api_information_panel p .api-msg-enabled { - color: green; -} -.swagger-section #api_information_panel p .api-msg-disabled { - color: red; -} -.swagger-section .api-ic { - height: 18px; - vertical-align: middle; - display: inline-block; - background: url(../images/explorer_icons.png) no-repeat; -} -.swagger-section .ic-info { - background-position: 0 0; - width: 18px; - margin-top: -7px; - margin-left: 4px; -} -.swagger-section .ic-warning { - background-position: -60px 0; - width: 18px; - margin-top: -7px; - margin-left: 4px; -} -.swagger-section .ic-error { - background-position: -30px 0; - width: 18px; - margin-top: -7px; - margin-left: 4px; -} -.swagger-section .ic-off { - background-position: -90px 0; - width: 58px; - margin-top: -4px; - cursor: pointer; -} -.swagger-section .ic-on { - background-position: -160px 0; - width: 58px; - margin-top: -4px; - cursor: pointer; -} -.swagger-section #header { - background-color: #89bf04; - padding: 14px; -} -.swagger-section #header a#logo { - font-size: 1.5em; - font-weight: bold; - text-decoration: none; - background: transparent url(../images/logo_small.png) no-repeat left center; - padding: 20px 0 20px 40px; - color: white; -} -.swagger-section #header form#api_selector { - display: block; - clear: none; - float: right; -} -.swagger-section #header form#api_selector .input { - display: block; - clear: none; - float: left; - margin: 0 10px 0 0; -} -.swagger-section #header form#api_selector .input input#input_apiKey { - width: 200px; -} -.swagger-section #header form#api_selector .input input#input_baseUrl { - width: 400px; -} -.swagger-section #header form#api_selector .input a#explore { - display: block; - text-decoration: none; - font-weight: bold; - padding: 6px 8px; - font-size: 0.9em; - color: white; - background-color: #547f00; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - -o-border-radius: 4px; - -ms-border-radius: 4px; - -khtml-border-radius: 4px; - border-radius: 4px; -} -.swagger-section #header form#api_selector .input a#explore:hover { - background-color: #547f00; -} -.swagger-section #header form#api_selector .input input { - font-size: 0.9em; - padding: 3px; - margin: 0; -} -.swagger-section #content_message { - margin: 10px 15px; - font-style: italic; - color: #999999; -} -.swagger-section #message-bar { - min-height: 30px; - text-align: center; - padding-top: 10px; -} diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/typography.css b/catalog-core/catalog-mgr/src/main/resources/api-doc/css/typography.css deleted file mode 100644 index d051d368..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/css/typography.css +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* droid-sans-regular - latin */ -@font-face { - font-family: 'Droid Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/droid-sans-v6-latin-regular.eot'); /* IE9 Compat Modes */ - src: local('Droid Sans'), local('DroidSans'), - url('../fonts/droid-sans-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/droid-sans-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/droid-sans-v6-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/droid-sans-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/droid-sans-v6-latin-regular.svg#DroidSans') format('svg'); /* Legacy iOS */ -} -/* droid-sans-700 - latin */ -@font-face { - font-family: 'Droid Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/droid-sans-v6-latin-700.eot'); /* IE9 Compat Modes */ - src: local('Droid Sans Bold'), local('DroidSans-Bold'), - url('../fonts/droid-sans-v6-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/droid-sans-v6-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/droid-sans-v6-latin-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/droid-sans-v6-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/droid-sans-v6-latin-700.svg#DroidSans') format('svg'); /* Legacy iOS */ -} diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.eot b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.eot deleted file mode 100644 index 2250b71a3cc65979f041a87add394baa4a8becf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22924 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 diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.svg b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.svg deleted file mode 100644 index a54bbbbf..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.ttf b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.ttf deleted file mode 100644 index 523cb92d512a1a9dbb21f0a80f7a156ccb1a1198..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40516 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 diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff deleted file mode 100644 index 67e3e25f8362c71003430d52894260cd4c69413a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25992 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

N`?RC`@lwXbC3bfgCS&z9};Se$Q$7 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 diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff2 b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-700.woff2 deleted file mode 100644 index 1e726a7cfce4130243a3de4bb2bd412000658896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11480 zcmV;}EGN@5Obdf300bZff@BASXB${fCF7WtxE&xs zRc*p3N+K!A{{LG79WsQXDWLODB*KIh(S&J+COQza7W2$AXQBRic7T|Nb()j#@Ctrj`j*A1nF zCwy1>G#Xh3Oq_5TDB!kVY4^&&dt3M`(6cPBI0A;>YNRE87t=(M$U+9fO29RGNnhdwDTbCnDS7~tuOI842pJbIXK>@ewn$%?og({_-m!TSJY+w zWy>R6%eGD~PVzI^j6NXw3xKnSv#n;0#%xZP6{@NeN>nLlF%@1VlvQAG0|I$a!R?fL`9hJie6K31-a!Pel>1KmkG^TFw4%S(&4d zi6X4Q>>E_Y(@aS<+FlF1dFMkXHRFCEA78EL2(e4{b@^2VHL7p*bL15<7Sb9MA1_1F z*EJYFGAp^B{F;iXivb$E2e127yyd6}WUz<;>1dh(#j` zyE$^A5)C2d#-*NJ2iDtQ+(r{&bGF!O+wAty&1}{R0-|U{VIPY;QH|c1a3)ETB-a{O zGFQjVEXu9LDHz*U?QmV#r;ZztbST!gjG@{@{NHP9dpp|Mu6B3r4tA)+9pQ>(YBg3k zYhxkyiQ{lMlz>Eoh)KkqCPB&6A^@O(`_0=ytcZ6NjoWi}+aMrF!8h(S6d?`39Lb zW7eE`3l{CPWLNgUJ$Mc=IBeO`aO@s;!pU%I&#Zj$emg5fuBsfq;trqUL;WJsi}R|AirSXbV!a|FvObk9P((yTL_|bIL_|bSRbzpr zmblS!QUMYrj6$5k(`P`mw$ZfU5ITyyevLFWA?KvhhTk}?R%^;PVY)MK&UVf!N>iN_ zGTt4r9v~ddE^WH%iEOiy4d$YhrlEBqJ1iC!R#tc3Vy<6fG4%ptj+<>W_SWTt3%Hl+ zGX@FqVzJ4BBB_Nc^v+?Ry#7?qBt{u5NTAn`l`hoNZWHVwbshZu_bLw?)==DZQeQ|jx z`h0|=4BEq3-#msG^<=YoWZXA_{f@t?#DAwr$+Yo`kx7LJeV!xC3S1XEM@;Z74ujCR zRPv{V$YYLMre5=`jn&w$DC#(byVKY&eDwN2*lTb)NHo-{g|xWk*}0j$i&GZoHOT-kxu=;XAbphwPeF z`oc$jx8Ya)od)WASMVtu#nQ+VOvOFXq4(UCzl`|JX&UAqkSvaDtRngm^5dGob^)*; z0G3*78!CVSoAVj@4qG~W`Sf;9u;yw2=(Cl_K>KOJUU_N7jPbC&7yhCu89Ae(m(j|&*9vX*tG^LAAG$)F) zr=guMMxGiwF-Ynyg>dnimmeD*>D+0-dF^Vzk{8Ept{qvYK$4q7r8$t+zi6u_Q#C9x z&suHe;(>!g+SsPpHwdJ3ocrk8EwpfEBgbMI10lql=y3we zW}gVS_EQ~^%gT;hvk5HISmQ*?IV)Jh?%?`OzBidq%l9ERS!7B8nKMnZ%?5tPF_-&fvf>%cya0;jDIdyKZ~Konk7^b^;ZQ(d1+4aDE!YU7AZnr*Ch9 z7rteC?Z&59!J-zXk`41s6*7NK&~mdMJ26R8y&CASy!hb#8ir8I`xci!2|oB%-88W1 zXexr*rMGe=E#1COZrnTz7V87b%uWj|s;{?q!2?Ew*aH~_S_X;gr7O5=2=)13rr|g1 zVQbFJHv1acRStu8Xug%oB09o(w5i;}3K;b^i?xV-2#tN^-l7(KSv^ri7lh2gx*$q% z;?{Y(uJXgST3MxS5n$!&JbWPIbnZjofEY@EGpi3uz7__8ayIx0@}FtX3h(se?I%aO zWfaaUjcNSIvMs!p&O%;Y60(;~HO-Oi#)Uekh0`_B^%LB8kW;he>pNb!F2QD8UAP}3 z$v%C4#J=wH+_I++rF~_$25~owcfFz}2eh#F^&5YvMFkakRn4aRO~eMn&EpE#8~5I2 zpSWS%l2p6@8m=I7v(=lsKD^coTNZToVnqCc5WFT7A*X}pUMOqispT5mEvJsD+;v`NkiE>L7a3q>zIJCAF6#%s9NwYx36z@Ss|SBgUDv`%ueqBfB=8BMXDY8JHlCxx&76vT-EK)ZH^JuNO-n!3&7#oedbj?x9ugj z+b=4af!G_Luz&MGFz_yEccr5x?|@~C^X&(qOE}g8PIjdM;}6{W^eI;K)b?1W0LEk{ zR%zBu)Ct?77a~UQx!B4ln_hN+(*1OFzsKD^cf_*T)42irIm#Odl|LjBfE2Gt^dL|| zsDUA-MJ3ex`k5zHQxl=hG00jvWH!`7x;tSM3gcL0b|~WY{HN0Hzxyc>r0iD-A6+#!Vowg zrkCo_foBjXAJQ~i+w2@bd0ikhS0&Z{arRcA1o$}#KB85`$tAF-*Pdw;F8P&#Dvuw% ze;HMO@S(OPFjd!UV_Up8p@WN6-aUsfgcOT6xD_-ngJS4oMA8s?(LnB#>g0qy#a2?H zOWYV?33zNds{J5obFsT)I@BL+vW2c*@*O04K5y+?t1GEMUFd8273`yGdqfV~6p{1; zX?JUJ1GhHV(mvy^N$3``*#{}F$HVS*W7xcMJtJe6Hf|crLl}P;A+)h6vOP9K%ki`8Q{oT7LA0;21|9zYXND1f`jp^GVp~_`{R%j- zNhj{u>aB4(94SLbrXstzaAWjz&^8jNJD=CjauC3G70w?0XmCY0=JnK%1YcY4ycBFC0MC zJ}dob=Iq{a>UF-nD#5T9ys@dybhudH@fb|f-pI}z2PX4D_^^uis#`SaZC_be_{PPQ z&eGM+$-Q8oXb#LuT`}Db>J5Ks{zVX4j7C)x3%o&1a;U%~TvDSuT|?~1>omWMu?JXT zR?3+HNr}XQk$crT1cogl?c(`B3s{4wjOGCwJ$aZB8T!Ho%tJnlXNA}3*&zqR;4ex- zw_h)}h5aKY^-c4^40y(^B!->O-H(fAwOzG@LOQPMf_>ime)3DF=7fY2D!d$urM=T} zCcQqY%)o6;g;nXJNH^-+W7nQkBbt^7__b?^waqJ;5Z&h{%r3AHwwh*f=7o(=UESTA z&&{E3@!%$_IQZahXiGzT%$cETmyxEG%Q)Ks=SWm8(&Nao5A0A&KG9KtZ)C(POJ=bh zEG+s<3t>FPsADPn0hz`cTn^=n{?OL0rE2F^4^mPwqcj%o`OSdt){FiZl9QCMoKYdc>n4S+q;>g;z0mvm*1dA9I*a!0!OJsm6@4|3sY3 z)u0(m@n)q?+O0e1kQ~vhL3;k|w$%Aaceye>$mCR%-6-4Lp0sL3`}VbLK6Nb|Yocyo ztp)<5b{7o%Sd`ZwEF%9op_9B# z5fEzZD{sYI$*EhH^nk7M5B&c#^pkg=ROquHoCoQTPxJXd`ooii!=C!{v47y_Kko+a z7Ys=I3(cO`MhX(jc_A;1uA_MC?4hYzsRl-SZ>q1(9=^Y8wduh$LW5;|T< zih=V%&>Y-AB!twr{FO-zt~=VGNA8qVwkIehEeX;}%uc;NXhB@j8lNg{iW6~_DnpKNeO?h7e6&}=PYLX*PlPYS?#`fyD8`F{kYN%P6$p_NH#J(b1 z5tbiUrrVIzem|j~-mc&B_r@8C%22VIxlL_?O7W@FsfWJVDSI>`Ncwxntw9 zeRhViQIQ$U2HzO#eyGb8j@~Z}t8C<9_%iiBU_gj(^#9C$TJn98>aYIOL)U(-_J6~C zl=lNI?Q4>v(I6S(|;wYO1@`5_5TcV z%^=9)id@*=DX#aCk83tZt&Mn7br&ggNBpVJMHYjLi^Z$OrK_byt3~=%a9RC?s12zn z)^*=~>(%bj25qQt195YIx&H-r2Q5Y(MmNBr1}Od$0HBPn?u&rdoH?1@-Fz&&{!AQn z-@XXf>N6*Dx|@z=H=c=iJ+$vH$=~_9)Ib0Ecjtd};jBb#qw{e<2PHh?7}c6zFHcXCv5t646mt@&DXZ6L(37JP@aBoNTZzA z0;u2N_TsQO)h)yid%ec@-ur3`yp711U`tE);I!*sNx|lkvuVx<~YWtDi z8(Cnfc9MICTKg;EYB!A?wyUqGR=>7n$YZ7_Ca{hi@zTWXtETDiy*o@kp7j%d2C0%27_3}xK zxt4}>r{K6A#JpU!5Dlm3=(xbNLrh|@C)4JKD8Kg3YJYV9?v76%DtBx}`d6C$!TO)wgM*P)GQ$&R^MLtKjZkl|DxH}z!-`GvAE8C2Z4p)!6O9wYt{7|mlR)3-&7QQ3FrwZVFLv2#Su zH~7-DxK3%Jr#eC`;uj2)R(HeVkdn3+Cpn5QkepoXj~CtO$Bf`3%F*7`bOgnzY;dPN z(&q;bBsirdN~Xh(Dstm@mN(4Ma}Nd5a7T9pW_I}J;{HxPYNMt^RCcR{pJ6d|`NNDpT4k=0TyeM_7E zXmpi{v!;A9CJFKM$t?j%4IuPD~iR4usW@=Ej}c|$KL zQ?Wlt7hv)w%`?j}$0By&kAlf_NzMzi3dpW+|1U}v{t}_VY5o=>W}<XOF z+P+p`YFL^yQXW32wvIkrhu^Cz?~0TSEtj1?{{a|rY65cpgOES`_n{U7UKM|S(J}sm z)_(l=CkjHtX}^zF`ZPg$t@+dcWG6R-W5L7`qe^C7vvFSNejPlm_ z!=-xker4-0Gn1Y(qA#07M(dFX!Stn>MFGpI@W?8ignchCcn*RYMa#>Oc|sTR=bS|HyGdi;MC zS(@^UxyB@u!RWnTkh=Y!GR+Q&lx=TBSwpdPKj;D!>U#@(=;Vdp3+CtjfbF=zcUfHI zLnhDtp1&~vTmFvod`JS=Ssr8%H8oOYiYBU{31KKNkB3Om+(?znnyI4ZAOrAuViw=t zky}|2%mIa5bT$B5}T*FJsk+oBW+sodS$*bkLe@E+AQ( zbQl~fZY|Ey>Z)Z;$=!sT-_Buo>)ZFZLA8{0DdUf#eX>3!qcl?CVJ(ltgZPmRYRZg@~SjM+qajH9Fm|?F@T{m6BF#4WAd$O-V`xVJ0uoT8k#z@n$3AU2Cv~*7w&hR$ z2m&=Ka|Pe?Tw`lK2qLlM z!EWAzAF594fVsJ+#xU&j#qfdLM%yt+r)~yek7%NP5kQLXc&3Y#GOpk+sPq$BfED1l zJWqg%8Mm|{laf%G&LmnnS}etNDEB{^e{8YOR7_7Mvsi0UG`M;tCFDwY$#?h9U3wK_ zsx>~7;u+#XLNcf^k!YqD%UcuyaI|vi06Tjm>ek?J)a~4n5w<)^>PiiQbD_k#SHKKH z$oDhmIUo==6eS~A;g0(f$_T))olDkm{De-87%>YIp%gF8%!sE!iF3_q^4eb3?eRIz z!?oR~qpPF~C{Cd41=*`MAhK99zc8=aULYF?X2bs@(>)oEJPYtLv~A7sXx(Vo2!$In zxL0H)Ws=Q!emR8hqk0uHY)e)#Fmm^Z&k@{!5ROYRfGavTV#P_A*h~eMdOC-oP6+c$ z&1*Z2TqXZ8{lVDonicv;zu@PQG4^W5=uviA@qS7}E9H3Ix<%iB910^nFg`TZN&-!R z9eP_K@KQMET7Zz0+9$Py+WE0Lp{O9VKO?0ZE>Sgl?PET8O?3>3!}H=8PXP5t)$A0J zV9!EJ!u#_y+avN_#b@za59r2i6+XL#%>i;Qu0oi>-MAtDLDX2;0=iTXRmzG-Dd>sv zpx3M+ONtlFKTZab1?J3^rA7`EsJDmeAP}?h{T{Tx-1%RUAkka4$~cKxsN4b1yNLm2 zPjZx04V{&!QKly3v3o#1VW5^%!;ekI;nJLY6m~uI!;27)HdZ0xF%Ed?I4?7$DmN zqD!jni8jtH_(~k${A}@pLyCOt>8_eg`(0H+Ri`xu`+tGwO#qofU7T5y6vM+|!==AM z4m#FR;**0EP9fzx=Ca1_b<}uaQ0mL(pyBMTJ4D*5Lgmt=L>a6aL7Ybj8=_IxDV^}5 zPHFsX#m}Y9=jWv@%-&H?7v!m?FU9PTxKlIq1+! zi&OiWH|g(aCo0hAb}&70xxvD%4rUhMR%LOxfmC`!fZruu`0Mt32YH`!j%$^fOO;b@ zy@SG@e}kZCV>$hpjw^ZJ<)n8gvQ@{K8R;$QR;)cOs9IM+g)7}&>7cV#Tbm*6vK&hw z#a$KeG0u>5&=HdhPd$=+JULYlZ-_~~npbb=RFKX;Q1QjC(#OmtchjYuJrx4a>38va zf7&@2#GOqoIstL zvf$hPsDxyFy%K{lJ^BQ0Q|3@xXq1M*R9+`pmppD?@KsX+^Ek1NooY^wZtIT-tXk@Ebh}T#OHw zKF-&bHe;OJj>wBW1Cf_?-D8|oo2C8J0uFpl>YAgKy0Q0fHUsy^D6ri*3rzVzURuZ4RKAv*L14bvN;^}TKf3?2>_MMIXA`;Hq z8z)fv!?Of$K}o_syx#tCuiSvpRl0oE`&wJ&KwRdL>7eu#v_n+#m^iC?+ zPR*|mU&_x7UDVZWrRJq*RNsT z+hL~_DJchHvtk2G&zCa88`IJnBUr4a2vyp34U=U*DpgY$i`5vGro!(@rf>D8wJ_M) zP2IkmnRsiMr~wx(-|jIMHWPO4I-Hzfch5igC&5pWgW3sf4lO(!`kU$# zzGR0g>{EgPif|0Yr37|s`|odv&rQgK@nSI&06BlhlZWGm2vCAgQt0Hc?3WiKYH-s% zx2FkXl447Lg)-})Pwb9?^>0niyZ_#a*T4~se~%8{uqhagM{in>#|MY3AK#k=qt}hE|8C+y za~!i`E=|~(sZj+TTaVof`Cv%drB^g`)@@(g%XXs6FFtij zcE+#Nt_LuFFiI!xtY|;UALt7_ul;}Fv&n`7ki{i<-sxfE_dO9O@}V?j zI5O!TEA+66G3DW+PmZqCY;bjr)Tt&1x zv`QMj%8>o6Z) zeAKJiv@4HEE7;69`wSd_LONS$dS*7 zw447O$GJ%GWDX)!uj(I6bjiiDxybN*VTs$h& z;Q|3z07AE$F&Rq?SV_8PzFWXYN`&0;E0jdaawUFOJhvopNrG5`P)puMQVq)O_XJ@x z-$o(iw0I>fBGQA9;{4^2k^VALoDvop9#1AME=amH5-UQZMOf??JURt<%usx3ht``W z2bGh!vVd?@k}nUzfd%-6URZC+N0yU$(tt2zGK{;Y2@oE5u6n+eSDpsXiBZaLHFZJM zV(UZex>vuC7{0y&xQ82_{fwvyX&}~iudWhQ?asf!z9*ltTR#P{uG#G&l;70dfJfkt za<@m&@`Sr@oVT)+M=szOWWAAMs(D-;JU-UvOX3DsOC{$^;_3WjyJ|eYCye!@|~-Rk$4((kkR*d8;4RBHdMpzKJ>#sAsuip#T>i5H%$z52TCkUt>sEMnt zgBbLC#z?=og^bSn#6Ve9( zoh}+P3eQljTF0?Cx;=?>db4!;W7HjgR;7!qy(4g65A^%Pue2Q}6iT&>TC~VIqqjP} zX*&H@XE289nv=7coH;JB^;Sk26f zbW9Nfh|Y6{9De{${iNLERsh^GzC6)pYNg?<7#TwJJ9mXg04g+gkdqZJxIHvL-bEC^ zem-A*0=uXn0?=o5(lWrE&U;pM_^vnLN=`$f)Nb6y1t3Ke^bUkcw>1A3`5`S#Yo|52 z{C;wV5PMw935252x`5;+;Ro{;nlu8C3x#kA;IH8y8P7t-H302+Lt0+T;v}c*Qcbwb z1rSX@#YliC#GCvVocOqAiH+9Fu#fwlIbs0t;)LXXz_RN}I}P>Hhu`hXtszD%!3eTH z1Q1h$)jIymp7F27Fc+kKxN{q;wBK@~!+=#CwYOmn_bpqCADv@>a;b_w_BJ=0t$z|F(5bEn!(u&nh7 zrWM?kB6cl+^@bv|p}L(&7)$2)mLnRfwP8e8@=?y}K~Vzfs)ce#*{zSjcYssSI{>;R zg3K}`F0z5>LzTk9Zk+#go8i?)qt15Tt@<;Iw z-vcD&=@nY$8hXLjvdZtUw-vxa@XJ&HM6&?ho7G3J_7)=L6?3R=`Zg~lS35vx2=gKp zG8Xl5*e7(ljjz!>T6w_|y1R~%s~whY6oh|lA+0307A%38RpjW?CqNH& zhy>f0c*K?4p>k(vl(!?1mstSnN3S7#1YLp}KB{eSbl?!6eSsY6!7hbB>dPzu^k~s- z>{S^O=fN*1VCxvLwOPg$LtC}lK3qZ2z>lUz>@5co!J}fVh9k5f$J{q~^_beugs5?; zzC!z_*V-< zSjvg`8#ejf)R#}LP^#39PRsTvho_gfk1xy*?jI0{2tuOJm|$!O4lnav2n`F5 zh>VJkiH(a-Nc@Ta+nYkA(HTq@o5STL@skBYQHoe1mB|&UN>y4q5gD0TOTN*e(+L~A z>@uj&Rtu&R&iak{{AIwnwa(rDw9TU5e*OLbeuZB7b~m+VnD#$?J>8cs-?)11`m3BD zZhp5%?#B^7|M-*c&AT4?c?E^~q8*A$ORV9IP+3t`{ko>Ew!X1p*`(&C7OmdCKkC-) ydw2Fbz~Hd+2OV;u+exP!PxqocJf2Lmd{$+bm1~O2vTaUrWm$P;$!X3jE&~8Zn1K`k diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.eot b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.eot deleted file mode 100644 index ac2698e85aee584b0f47c0cccff8a8b9b16a5c66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22008 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%0AA9nOF`EcNA#X$~6CRi6AAT-xXx{3Bx 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 M4w+BmWsNjR(0tp4%K!iX diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.svg b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.svg deleted file mode 100644 index d9f2a214..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.svg +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.ttf b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.ttf deleted file mode 100644 index 76aede27f9d730b3b18576657d0994c38a88b976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39072 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 diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff deleted file mode 100644 index abf19899f75a0e8ab8e2d41caeecd8d764d3f08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24868 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 X8CoUMY*lMRVpH6ur?CLJX!hLz`Fb1d diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff2 b/catalog-core/catalog-mgr/src/main/resources/api-doc/fonts/droid-sans-v6-latin-regular.woff2 deleted file mode 100644 index 9f93f74c3bede4b96290650f7a21c98eb1e01351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11304 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 A82|tP diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/images/pet_store_api.png b/catalog-core/catalog-mgr/src/main/resources/api-doc/images/pet_store_api.png deleted file mode 100644 index f9f9cd4aeb35a108c4b2f1dddb59977d56c595d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 824 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 z 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 - - - - Swagger UI - - - - - - - - - - - - - - - - - - - - - - - - -

- -
 
-
- - diff --git a/catalog-core/catalog-mgr/src/main/resources/api-doc/lib/backbone-min.js b/catalog-core/catalog-mgr/src/main/resources/api-doc/lib/backbone-min.js deleted file mode 100644 index 3df984d6..00000000 --- a/catalog-core/catalog-mgr/src/main/resources/api-doc/lib/backbone-min.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2016 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -// Backbone.js 1.1.2 - -(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}})(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events=void 0;return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var $=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var S=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend($.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);n.execute(s,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},execute:function(t,e){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace(S,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var O=/^\/+|\/+$/g;var P=/msie [\w.]+/;var C=/\/$/;var j=/#.*$/;N.started=false;i.extend(N.prototype,u,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=decodeURI(this.location.pathname+this.location.search);var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment();var s=document.documentMode;var n=P.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(O,"/");if(n&&this._wantsHashChange){var a=e.$('