Package org.infoglue.cms.entities.structure

Examples of org.infoglue.cms.entities.structure.ServiceBinding


      siteNodeVersionIdMap.put(oldSiteNodeVersionId.toString(), newSiteNodeVersionId.toString());

      Iterator serviceBindingsIterator = serviceBindings.iterator();
      while(serviceBindingsIterator.hasNext())
      {
        ServiceBinding serviceBinding = (ServiceBinding)serviceBindingsIterator.next();
        logger.info("serviceBinding:" + serviceBinding.getName());
        ServiceDefinition originalServiceDefinition = serviceBinding.getServiceDefinition();
        if(originalServiceDefinition == null)
        {
          logger.error("Skipping serviceBinding:" + serviceBinding.getName() + ":" + "serviceBinding:" + serviceBinding.getId() + " " + serviceBinding.getServiceDefinition());
          continue;
        }
       
        String serviceDefinitionName = originalServiceDefinition.getName();
        ServiceDefinition serviceDefinition = ServiceDefinitionController.getController().getServiceDefinitionWithName(serviceDefinitionName, db, false);
        if(serviceDefinition == null)
        {
            db.create(originalServiceDefinition);
            serviceDefinition = originalServiceDefinition;
            //availableServiceBinding.getServiceDefinitions().add(serviceDefinition);
        }
       
        serviceBinding.setServiceDefinition((ServiceDefinitionImpl)serviceDefinition);

        AvailableServiceBinding originalAvailableServiceBinding = serviceBinding.getAvailableServiceBinding();
        String availableServiceBindingName = originalAvailableServiceBinding.getName();
        logger.info("availableServiceBindingName:" + availableServiceBindingName);
        logger.info("readAvailableServiceBindings:" + readAvailableServiceBindings.size() + ":" + readAvailableServiceBindings.containsKey(availableServiceBindingName));
        AvailableServiceBinding availableServiceBinding = (AvailableServiceBinding)readAvailableServiceBindings.get(availableServiceBindingName);
        logger.info("availableServiceBinding:" + availableServiceBinding);
        if(availableServiceBinding == null)
        {
          availableServiceBinding = AvailableServiceBindingController.getController().getAvailableServiceBindingWithName(availableServiceBindingName, db, false);
          logger.info("Read availableServiceBinding from database:" + availableServiceBindingName + "=" + availableServiceBinding);
          readAvailableServiceBindings.put(availableServiceBindingName, availableServiceBinding);
          logger.info("readAvailableServiceBindings:" + readAvailableServiceBindings.size() + ":" + readAvailableServiceBindings.containsKey(availableServiceBindingName));
        }
       
        if(availableServiceBinding == null)
        {
            logger.info("There was no availableServiceBinding registered under:" + availableServiceBindingName);
            logger.info("originalAvailableServiceBinding:" + originalAvailableServiceBinding.getName() + ":" + originalAvailableServiceBinding.getIsInheritable());
            db.create(originalAvailableServiceBinding);
            availableServiceBinding = originalAvailableServiceBinding;
            readAvailableServiceBindings.put(availableServiceBindingName, availableServiceBinding);
           
            logger.info("Notifying:" + siteNodeTypeDefinition.getName() + " about the new availableServiceBinding " + availableServiceBinding.getName());
            if(siteNodeTypeDefinition != null)
            {
              siteNodeTypeDefinition.getAvailableServiceBindings().add((AvailableServiceBindingImpl)availableServiceBinding);
              serviceDefinition.getAvailableServiceBindings().add((AvailableServiceBindingImpl)availableServiceBinding);
              availableServiceBinding.getSiteNodeTypeDefinitions().add((SiteNodeTypeDefinitionImpl)siteNodeTypeDefinition);
              availableServiceBinding.getServiceDefinitions().add((ServiceDefinitionImpl)serviceDefinition);
            }
        }
        else
        {
          if(siteNodeTypeDefinition != null && !siteNodeTypeDefinition.getAvailableServiceBindings().contains(availableServiceBinding))
          {
            siteNodeTypeDefinition.getAvailableServiceBindings().add((AvailableServiceBindingImpl)availableServiceBinding);
            availableServiceBinding.getSiteNodeTypeDefinitions().add(siteNodeTypeDefinition);
          }
        }
       
        serviceBinding.setAvailableServiceBinding((AvailableServiceBindingImpl)availableServiceBinding);
       
       
        Collection qualifyers = serviceBinding.getBindingQualifyers();
        Iterator qualifyersIterator = qualifyers.iterator();
        while(qualifyersIterator.hasNext())
        {
          Qualifyer qualifyer = (Qualifyer)qualifyersIterator.next();
          qualifyer.setServiceBinding((ServiceBindingImpl)serviceBinding);
         
          String entityName   = qualifyer.getName();
          String entityId    = qualifyer.getValue();
         
          if(entityName.equalsIgnoreCase("contentId"))
          {
            String mappedContentId = (String)contentIdMap.get(entityId);
            qualifyer.setValue((mappedContentId == null) ? entityId : mappedContentId);
          }
          else if(entityName.equalsIgnoreCase("siteNodeId"))
          {
            String mappedSiteNodeId = (String)siteNodeIdMap.get(entityId);
            qualifyer.setValue((mappedSiteNodeId == null) ? entityId : mappedSiteNodeId);           
          }
        }

        serviceBinding.setSiteNodeVersion((SiteNodeVersionImpl)siteNodeVersion);       

        db.create(serviceBinding);

      }
    }   
View Full Code Here

TOP

Related Classes of org.infoglue.cms.entities.structure.ServiceBinding

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.