Package org.pentaho.platform.repository2.unified.webservices.jaxws

Source Code of org.pentaho.platform.repository2.unified.webservices.jaxws.UnifiedRepositoryToWebServiceAdapter

/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License, version 2 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/gpl-2.0.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
*
* Copyright 2006 - 2013 Pentaho Corporation.  All rights reserved.
*/

package org.pentaho.platform.repository2.unified.webservices.jaxws;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;

import org.pentaho.platform.api.locale.IPentahoLocale;
import org.pentaho.platform.api.repository2.unified.IRepositoryFileData;
import org.pentaho.platform.api.repository2.unified.IUnifiedRepository;
import org.pentaho.platform.api.repository2.unified.RepositoryFile;
import org.pentaho.platform.api.repository2.unified.RepositoryFileAce;
import org.pentaho.platform.api.repository2.unified.RepositoryFileAcl;
import org.pentaho.platform.api.repository2.unified.RepositoryFilePermission;
import org.pentaho.platform.api.repository2.unified.RepositoryFileTree;
import org.pentaho.platform.api.repository2.unified.RepositoryRequest;
import org.pentaho.platform.api.repository2.unified.VersionSummary;
import org.pentaho.platform.api.repository2.unified.data.node.NodeRepositoryFileData;
import org.pentaho.platform.api.repository2.unified.data.simple.SimpleRepositoryFileData;
import org.pentaho.platform.repository2.locale.PentahoLocale;
import org.pentaho.platform.repository2.unified.webservices.IUnifiedRepositoryWebService;
import org.pentaho.platform.repository2.unified.webservices.NodeRepositoryFileDataAdapter;
import org.pentaho.platform.repository2.unified.webservices.NodeRepositoryFileDataDto;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileAclAceAdapter;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileAclAceDto;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileAclAdapter;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileAdapter;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileDto;
import org.pentaho.platform.repository2.unified.webservices.RepositoryFileTreeAdapter;
import org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto;
import org.pentaho.platform.repository2.unified.webservices.VersionSummaryAdapter;
import org.pentaho.platform.repository2.unified.webservices.VersionSummaryDto;
import org.springframework.util.Assert;

/**
* Converts calls to {@link IUnifiedRepository} into {@link IUnifiedRepositoryWebService}. This is how client code
* remains unaware of server code location.
*
* @author mlowery
*/
public class UnifiedRepositoryToWebServiceAdapter implements IUnifiedRepository {

  private volatile List<Character> cachedReservedChars; // make sure threads see up-to-date value

  private IUnifiedRepositoryJaxwsWebService repoWebService;

  private RepositoryFileAdapter repositoryFileAdapter = new RepositoryFileAdapter();

  private RepositoryFileTreeAdapter repositoryFileTreeAdapter = new RepositoryFileTreeAdapter();

  private NodeRepositoryFileDataAdapter nodeRepositoryFileDataAdapter = new NodeRepositoryFileDataAdapter();

  private RepositoryFileAclAdapter repositoryFileAclAdapter = new RepositoryFileAclAdapter();

  private RepositoryFileAclAceAdapter repositoryFileAclAceAdapter = new RepositoryFileAclAceAdapter();

  private VersionSummaryAdapter versionSummaryAdapter = new VersionSummaryAdapter();

  public UnifiedRepositoryToWebServiceAdapter( IUnifiedRepositoryJaxwsWebService repoWebService ) {
    super();
    this.repoWebService = repoWebService;
  }

  @Override
  public RepositoryFile createFile( Serializable parentFolderId, RepositoryFile file, IRepositoryFileData data,
      String versionMessage ) {
    if ( data instanceof NodeRepositoryFileData ) {
      return repositoryFileAdapter.unmarshal( repoWebService.createFile( parentFolderId != null ? parentFolderId
          .toString() : null, repositoryFileAdapter.marshal( file ), nodeRepositoryFileDataAdapter
          .marshal( (NodeRepositoryFileData) data ), versionMessage ) );
    } else if ( data instanceof SimpleRepositoryFileData ) {
      SimpleRepositoryFileData simpleData = (SimpleRepositoryFileData) data;
      return repositoryFileAdapter.unmarshal( repoWebService.createBinaryFile( parentFolderId != null ? parentFolderId
          .toString() : null, repositoryFileAdapter.marshal( file ), SimpleRepositoryFileDataDto.convert( simpleData ),
          versionMessage ) );
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  public RepositoryFile createFolder( Serializable parentFolderId, RepositoryFile file, String versionMessage ) {
    return repositoryFileAdapter.unmarshal( repoWebService.createFolder( parentFolderId != null ? parentFolderId
        .toString() : null, repositoryFileAdapter.marshal( file ), versionMessage ) );
  }

  @Override
  public void deleteFile( Serializable fileId, boolean permanent, String versionMessage ) {
    repoWebService.deleteFileWithPermanentFlag( fileId != null ? fileId.toString() : null, permanent, versionMessage );
  }

  @Override
  public void deleteFile( Serializable fileId, String versionMessage ) {
    repoWebService.deleteFile( fileId != null ? fileId.toString() : null, versionMessage );
  }

  @Override
  public void deleteFileAtVersion( Serializable fileId, Serializable versionId ) {
    repoWebService.deleteFileAtVersion( fileId != null ? fileId.toString() : null, versionId.toString() != null
        ? versionId.toString() : null );
  }

  @Override
  public RepositoryFileAcl getAcl( Serializable fileId ) {
    return repositoryFileAclAdapter.unmarshal( repoWebService.getAcl( fileId != null ? fileId.toString() : null ) );
  }

  @Override
  public List<RepositoryFile> getChildren( RepositoryRequest repositoryRequest ) {
    return unmarshalFiles( repoWebService.getChildrenFromRequest( repositoryRequest ) );
  }

  @Override
  @Deprecated
  public List<RepositoryFile> getChildren( Serializable folderId ) {
    return unmarshalFiles( repoWebService.getChildren( folderId.toString() != null ? folderId.toString() : null ) );
  }

  @Override
  @Deprecated
  public List<RepositoryFile> getChildren( Serializable folderId, String filter ) {
    return unmarshalFiles( repoWebService.getChildrenWithFilter( folderId.toString() != null ? folderId.toString()
        : null, filter ) );
  }

  private List<RepositoryFile> unmarshalFiles( List<RepositoryFileDto> dtos ) {
    List<RepositoryFile> files = new ArrayList<RepositoryFile>();
    for ( RepositoryFileDto dto : dtos ) {
      files.add( repositoryFileAdapter.unmarshal( dto ) );
    }
    return files;
  }

  @Override
  public List<RepositoryFile> getChildren( Serializable folderId, String filter, Boolean showHiddenFiles ) {
    return unmarshalFiles( repoWebService.getChildrenWithFilterAndHidden( folderId.toString() != null ? folderId
        .toString() : null, filter, showHiddenFiles ) );
  }

  @Override
  public <T extends IRepositoryFileData> T getDataForExecute( Serializable fileId, Class<T> dataClass ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public <T extends IRepositoryFileData> List<T> getDataForExecuteInBatch( final List<RepositoryFile> files,
      Class<T> dataClass ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public <T extends IRepositoryFileData> T getDataAtVersionForExecute( Serializable fileId, Serializable versionId,
      Class<T> dataClass ) {
    throw new UnsupportedOperationException();
  }

  @Override
  @SuppressWarnings( "unchecked" )
  public <T extends IRepositoryFileData> T getDataForRead( Serializable fileId, Class<T> dataClass ) {
    if ( dataClass.equals( NodeRepositoryFileData.class ) ) {
      return (T) nodeRepositoryFileDataAdapter.unmarshal( repoWebService.getDataAsNodeForRead( fileId != null ? fileId
          .toString() : null ) );
    } else if ( dataClass.equals( SimpleRepositoryFileData.class ) ) {
      SimpleRepositoryFileDataDto simpleJaxWsData =
          repoWebService.getDataAsBinaryForRead( fileId != null ? fileId.toString() : null );
      return (T) SimpleRepositoryFileDataDto.convert( simpleJaxWsData );
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  @SuppressWarnings( "unchecked" )
  public <T extends IRepositoryFileData> java.util.List<T> getDataForReadInBatch( final List<RepositoryFile> files,
      final Class<T> dataClass ) {
    List<RepositoryFileDto> fileDtos = new ArrayList<RepositoryFileDto>( files.size() );
    for ( RepositoryFile file : files ) {
      fileDtos.add( repositoryFileAdapter.marshal( file ) );
    }
    if ( dataClass.equals( NodeRepositoryFileData.class ) ) {
      List<NodeRepositoryFileDataDto> nodeData = repoWebService.getDataAsNodeForReadInBatch( fileDtos );
      List<T> data = new ArrayList<T>( nodeData.size() );
      for ( NodeRepositoryFileDataDto node : nodeData ) {
        data.add( (T) nodeRepositoryFileDataAdapter.unmarshal( node ) );
      }
      return data;
    } else if ( dataClass.equals( SimpleRepositoryFileData.class ) ) {
      List<SimpleRepositoryFileDataDto> nodeData = repoWebService.getDataAsBinaryForReadInBatch( fileDtos );
      List<T> data = new ArrayList<T>( nodeData.size() );
      for ( SimpleRepositoryFileDataDto node : nodeData ) {
        data.add( (T) SimpleRepositoryFileDataDto.convert( node ) );
      }
      return data;
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  @SuppressWarnings( "unchecked" )
  public <T extends IRepositoryFileData> T getDataAtVersionForRead( Serializable fileId, Serializable versionId,
      Class<T> dataClass ) {
    if ( dataClass.equals( NodeRepositoryFileData.class ) ) {
      return (T) nodeRepositoryFileDataAdapter.unmarshal( repoWebService.getDataAsNodeForReadAtVersion( fileId != null
          ? fileId.toString() : null, versionId != null ? versionId.toString() : null ) );
    } else if ( dataClass.equals( SimpleRepositoryFileData.class ) ) {
      SimpleRepositoryFileDataDto simpleJaxWsData =
          repoWebService.getDataAsBinaryForReadAtVersion( fileId != null ? fileId.toString() : null, versionId != null
              ? versionId.toString() : null );
      return (T) SimpleRepositoryFileDataDto.convert( simpleJaxWsData );
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  public List<RepositoryFile> getDeletedFiles( final String origParentFolderPath ) {
    return unmarshalFiles( repoWebService.getDeletedFilesInFolder( origParentFolderPath ) );
  }

  @Override
  public List<RepositoryFile> getDeletedFiles( final String origParentFolderPath, String filter ) {
    return unmarshalFiles( repoWebService.getDeletedFilesInFolderWithFilter( origParentFolderPath, filter ) );
  }

  @Override
  public List<RepositoryFile> getDeletedFiles() {
    return unmarshalFiles( repoWebService.getDeletedFiles() );
  }

  @Override
  public List<RepositoryFileAce> getEffectiveAces( Serializable fileId ) {
    return unmarshalAces( repoWebService.getEffectiveAces( fileId != null ? fileId.toString() : null ) );
  }

  private List<RepositoryFileAce> unmarshalAces( List<RepositoryFileAclAceDto> dtos ) {
    List<RepositoryFileAce> aces = new ArrayList<RepositoryFileAce>();
    for ( RepositoryFileAclAceDto dto : dtos ) {
      aces.add( repositoryFileAclAceAdapter.unmarshal( dto ) );
    }
    return aces;
  }

  @Override
  public List<RepositoryFileAce> getEffectiveAces( Serializable fileId, boolean forceEntriesInheriting ) {
    return unmarshalAces( repoWebService.getEffectiveAcesWithForceFlag( fileId != null ? fileId.toString() : null,
        forceEntriesInheriting ) );
  }

  @Override
  public RepositoryFile getFile( String path ) {
    // path = path.replaceAll( ";", "/" ); //Why is it here?
    return repositoryFileAdapter.unmarshal( repoWebService.getFile( path, false, null ) );
  }

  @Override
  public RepositoryFile getFileAtVersion( Serializable fileId, Serializable versionId ) {
    return repositoryFileAdapter.unmarshal( repoWebService.getFileAtVersion( fileId != null ? fileId.toString() : null,
        versionId != null ? versionId.toString() : null ) );
  }

  @Override
  public RepositoryFile getFileById( Serializable fileId ) {
    return repositoryFileAdapter.unmarshal( repoWebService.getFileById( fileId != null ? fileId.toString() : null,
        false, null ) );
  }

  @Override
  public RepositoryFile getFile( String path, boolean loadLocaleMaps ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFile( path, loadLocaleMaps, null ) );
  }

  @Override
  public RepositoryFile getFileById( Serializable fileId, boolean loadLocaleMaps ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFileById( fileId != null ? fileId.toString()
        : null, loadLocaleMaps, null ) );
  }

  @Override
  public RepositoryFile getFile( String path, IPentahoLocale locale ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFile( path, false, (PentahoLocale) locale ) );
  }

  @Override
  public RepositoryFile getFileById( Serializable fileId, IPentahoLocale locale ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFileById( fileId != null ? fileId.toString()
        : null, false, (PentahoLocale) locale ) );
  }

  @Override
  public RepositoryFile getFile( String path, boolean loadLocaleMaps, IPentahoLocale locale ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFile( path, loadLocaleMaps,
        (PentahoLocale) locale ) );
  }

  @Override
  public RepositoryFile getFileById( Serializable fileId, boolean loadLocaleMaps, IPentahoLocale locale ) {
    return this.repositoryFileAdapter.unmarshal( this.repoWebService.getFileById( fileId != null ? fileId.toString()
        : null, loadLocaleMaps, (PentahoLocale) locale ) );
  }

  @Override
  public List<VersionSummary> getVersionSummaries( Serializable fileId ) {
    return unmarshalVersionSummaries( repoWebService.getVersionSummaries( fileId != null ? fileId.toString() : null ) );
  }

  private List<VersionSummary> unmarshalVersionSummaries( List<VersionSummaryDto> dtos ) {
    List<VersionSummary> versionSummaries = new ArrayList<VersionSummary>();
    for ( VersionSummaryDto dto : dtos ) {
      versionSummaries.add( versionSummaryAdapter.unmarshal( dto ) );
    }
    return versionSummaries;
  }

  @Override
  public VersionSummary getVersionSummary( Serializable fileId, Serializable versionId ) {
    return versionSummaryAdapter.unmarshal( repoWebService.getVersionSummary(
        fileId != null ? fileId.toString() : null, versionId != null ? versionId.toString() : null ) );
  }

  @Override
  public List<VersionSummary> getVersionSummaryInBatch( final List<RepositoryFile> files ) {
    List<RepositoryFileDto> fileDtos = new ArrayList<RepositoryFileDto>( files.size() );
    for ( RepositoryFile file : files ) {
      fileDtos.add( repositoryFileAdapter.marshal( file ) );
    }
    return unmarshalVersionSummaries( repoWebService.getVersionSummaryInBatch( fileDtos ) );
  }

  @Override
  public boolean hasAccess( String path, EnumSet<RepositoryFilePermission> permissions ) {
    return repoWebService.hasAccess( path, RepositoryFileAclAceAdapter.toIntPerms( permissions ) );
  }

  @Override
  public void lockFile( Serializable fileId, String message ) {
    repoWebService.lockFile( fileId != null ? fileId.toString() : null, message );
  }

  @Override
  public void moveFile( Serializable fileId, String destAbsPath, String versionMessage ) {
    repoWebService.moveFile( fileId != null ? fileId.toString() : null, destAbsPath, versionMessage );
  }

  @Override
  public void copyFile( Serializable fileId, String destAbsPath, String versionMessage ) {
    repoWebService.copyFile( fileId != null ? fileId.toString() : null, destAbsPath, versionMessage );
  }

  @Override
  public void undeleteFile( Serializable fileId, String versionMessage ) {
    repoWebService.undeleteFile( fileId != null ? fileId.toString() : null, versionMessage );
  }

  @Override
  public void unlockFile( Serializable fileId ) {
    repoWebService.unlockFile( fileId != null ? fileId.toString() : null );
  }

  @Override
  public RepositoryFileAcl updateAcl( RepositoryFileAcl acl ) {
    return repositoryFileAclAdapter.unmarshal( repoWebService.updateAcl( repositoryFileAclAdapter.marshal( acl ) ) );
  }

  @Override
  public RepositoryFile updateFile( RepositoryFile file, IRepositoryFileData data, String versionMessage ) {
    if ( data instanceof NodeRepositoryFileData ) {
      return repositoryFileAdapter.unmarshal( repoWebService.updateFile( repositoryFileAdapter.marshal( file ),
          nodeRepositoryFileDataAdapter.marshal( (NodeRepositoryFileData) data ), versionMessage ) );
    } else if ( data instanceof SimpleRepositoryFileData ) {
      SimpleRepositoryFileData simpleData = (SimpleRepositoryFileData) data;
      return repositoryFileAdapter.unmarshal( repoWebService.updateBinaryFile( repositoryFileAdapter.marshal( file ),
          SimpleRepositoryFileDataDto.convert( simpleData ), versionMessage ) );
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  public void restoreFileAtVersion( Serializable fileId, Serializable versionId, String versionMessage ) {
    repoWebService.restoreFileAtVersion( fileId.toString(), versionId.toString(), versionMessage );
  }

  @Override
  public boolean canUnlockFile( final Serializable fileId ) {
    return repoWebService.canUnlockFile( fileId.toString() );
  }

  @Override
  public RepositoryFileTree getTree( RepositoryRequest repositoryRequest ) {
    return repositoryFileTreeAdapter.unmarshal( repoWebService.getTreeFromRequest( repositoryRequest ) );
  }

  @Override
  @Deprecated
  public RepositoryFileTree getTree( final String path, final int depth, final String filter, final boolean showHidden ) {
    return repositoryFileTreeAdapter.unmarshal( repoWebService.getTree( path, depth, filter, showHidden ) );
  }

  @Override
  public RepositoryFile createFile( final Serializable parentFolderId, final RepositoryFile file,
      final IRepositoryFileData data, final RepositoryFileAcl acl, final String versionMessage ) {
    if ( data instanceof NodeRepositoryFileData ) {
      return repositoryFileAdapter.unmarshal( repoWebService.createFileWithAcl( parentFolderId != null ? parentFolderId
          .toString() : null, repositoryFileAdapter.marshal( file ), nodeRepositoryFileDataAdapter
          .marshal( (NodeRepositoryFileData) data ), repositoryFileAclAdapter.marshal( acl ), versionMessage ) );
    } else if ( data instanceof SimpleRepositoryFileData ) {
      SimpleRepositoryFileData simpleData = (SimpleRepositoryFileData) data;
      return repositoryFileAdapter.unmarshal( repoWebService.createBinaryFileWithAcl( parentFolderId != null
          ? parentFolderId.toString() : null, repositoryFileAdapter.marshal( file ), SimpleRepositoryFileDataDto
          .convert( simpleData ), repositoryFileAclAdapter.marshal( acl ), versionMessage ) );
    } else {
      throw new IllegalArgumentException();
    }
  }

  @Override
  public RepositoryFile createFolder( final Serializable parentFolderId, final RepositoryFile file,
      final RepositoryFileAcl acl, final String versionMessage ) {
    return repositoryFileAdapter.unmarshal( repoWebService.createFolderWithAcl( parentFolderId != null ? parentFolderId
        .toString() : null, repositoryFileAdapter.marshal( file ), repositoryFileAclAdapter.marshal( acl ),
        versionMessage ) );
  }

  @Override
  public List<RepositoryFile> getReferrers( Serializable fileId ) {
    List<RepositoryFile> fileList = new ArrayList<RepositoryFile>();

    for ( RepositoryFileDto fileDto : repoWebService.getReferrers( fileId != null ? fileId.toString() : null ) ) {
      fileList.add( repositoryFileAdapter.unmarshal( fileDto ) );
    }
    return fileList;
  }

  @Override
  public void setFileMetadata( final Serializable fileId, Map<String, Serializable> metadataMap ) {
    Assert.notNull( fileId );
    Assert.notNull( metadataMap );
    List<StringKeyStringValueDto> fileMetadataMap = new ArrayList<StringKeyStringValueDto>( metadataMap.size() );
    for ( final String key : metadataMap.keySet() ) {
      fileMetadataMap.add( new StringKeyStringValueDto( key, metadataMap.get( key ).toString() ) );
    }
    repoWebService.setFileMetadata( fileId.toString(), fileMetadataMap );
  }

  @Override
  public Map<String, Serializable> getFileMetadata( final Serializable fileId ) {
    final List<StringKeyStringValueDto> fileMetadata = repoWebService.getFileMetadata( fileId.toString() );
    Assert.notNull( fileMetadata );
    final Map<String, Serializable> repoFileMetadata = new HashMap<String, Serializable>( fileMetadata.size() );
    for ( StringKeyStringValueDto entry : fileMetadata ) {
      repoFileMetadata.put( entry.getKey(), entry.getValue() );
    }
    return repoFileMetadata;
  }

  @Override
  public List<Character> getReservedChars() {
    // no need for synchronization here as value to be written will always be the same
    if ( cachedReservedChars == null ) {
      cachedReservedChars = Collections.unmodifiableList( repoWebService.getReservedChars() );
    }
    return cachedReservedChars;
  }

  @Override
  public List<Locale> getAvailableLocalesForFileById( Serializable fileId ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public List<Locale> getAvailableLocalesForFileByPath( String relPath ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public List<Locale> getAvailableLocalesForFile( RepositoryFile repositoryFile ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Properties getLocalePropertiesForFileById( Serializable fileId, String locale ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Properties getLocalePropertiesForFileByPath( String relPath, String locale ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Properties getLocalePropertiesForFile( RepositoryFile repositoryFile, String locale ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setLocalePropertiesForFileById( Serializable fileId, String locale, Properties properties ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setLocalePropertiesForFileByPath( String relPath, String locale, Properties properties ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void setLocalePropertiesForFile( RepositoryFile repositoryFile, String locale, Properties properties ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void deleteLocalePropertiesForFile( RepositoryFile repositoryFile, String locale ) {
    throw new UnsupportedOperationException();
  }

  @Override
  public RepositoryFile updateFolder( RepositoryFile folder, String versionMessage ) {
    return repositoryFileAdapter.unmarshal( repoWebService.updateFolder( repositoryFileAdapter.marshal( folder ),
        versionMessage ) );
  }

}
TOP

Related Classes of org.pentaho.platform.repository2.unified.webservices.jaxws.UnifiedRepositoryToWebServiceAdapter

TOP
Copyright © 2018 www.massapi.com. 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.