Ejemplo n.º 1
0
  /**
   * Creates the configuration.
   *
   * @param list the list
   * @return the mapping
   */
  public Mapping createConfiguration(List list) {
    if (list.size() > 0) {

      int inputObjectNo = 0;
      Mapping config = new DataMapping();

      for (ReferableResource referableResource :
          concreteBundle.getPrimaryConcreteTask().getSignature().getPorts()) {
        if (referableResource instanceof InputPort) {
          ConfigurationResource configurationResource =
              new ConfigurationResource(referableResource);
          // TODO serialize

          Object inputObject = list.get(inputObjectNo);

          if (inputObject instanceof File) {
            try {
              configurationResource.setRefType(ConfigurationResource.RefTypes.FILE_REF);
              BundleFile bf = DataUtils.createBundleFile((File) inputObject, config.getId() + "/");
              bf.setType(BundleFile.FileType.DATA_FILE);
              config.getBundleFiles().add(bf);
              configurationResource.setBundleFile(bf);
            } catch (SHIWADesktopIOException e) {
              e.printStackTrace();
            }
          } else {
            configurationResource.setValue(inputObject.toString());
            configurationResource.setRefType(ConfigurationResource.RefTypes.INLINE_REF);
          }
          inputObjectNo++;
          config.addResourceRef(configurationResource);
        }
      }
      getWorkflowImplementation().getAggregatedResources().add(config);
      return config;
    }
    return null;
  }