Package pt.webdetails.cdf.dd.reader.factory

Examples of pt.webdetails.cdf.dd.reader.factory.IResourceLoader


  private IBasicFile[] getFileList( String dir, String dashboardPath, final String fileExtensions, String permission,
                                    boolean showHiddenFiles ) {

    ArrayList<String> extensionsList = new ArrayList<String>();
    String[] extensions = StringUtils.split( fileExtensions, "." );
    IResourceLoader loader = ( new ResourceLoaderFactory() ).getResourceLoader( dashboardPath );

    if ( extensions != null ) {
      for ( String extension : extensions ) {
        // For some reason, in 4.5 filebased rep started to report a leading dot in extensions
        // Adding both just to be sure we don't break stuff
        extensionsList.add( "." + extension );
        extensionsList.add( extension );
      }
    }

    FileAccess fileAccess = FileAccess.parse( permission );
    if ( fileAccess == null ) {
      fileAccess = FileAccess.READ;
    }

    GenericBasicFileFilter fileFilter =
      new GenericBasicFileFilter( null, extensionsList.toArray( new String[ extensionsList.size() ] ), true );

    //check if it is a system dashboard
    List<IBasicFile> fileList;
    boolean isSystem = false;
    if ( !dashboardPath.isEmpty() ) {
      String path = dashboardPath.toLowerCase().replaceFirst( "/", "" );
      if ( path.startsWith( CdeEnvironment.getSystemDir() + "/" ) ) {
        isSystem = true;
      }
    }

    IReadAccess access = loader.getReader();

    GenericFileAndDirectoryFilter fileAndDirFilter = new GenericFileAndDirectoryFilter( fileFilter );

    if ( isSystem ) {
      // folder filtering ( see settings.xml ) will only occur for non-admin users
View Full Code Here


  @Consumes( { APPLICATION_XML, APPLICATION_JSON } )
  public String getFile( @QueryParam( MethodParams.PATH ) @DefaultValue( "" ) String path,
                         @Context HttpServletResponse response )
    throws IOException {

    IResourceLoader loader = getResourceLoader( path );
    IReadAccess reader = loader.getReader();

    if ( reader.fileExists( path ) && loader.getAccessControl().hasAccess( path, FileAccess.READ ) ) {
      response.setHeader( "Cache-Control", "max-age=" + NO_CACHE_DURATION );
      return IOUtils.toString( reader.getFileInputStream( path ) );
    } else {
      String msg = "File: " + path + " does not exist, or you do not have permissions to access it";
      logger.error( msg );
View Full Code Here

  @Produces( "text/javascript" )
  @Consumes( { APPLICATION_XML, APPLICATION_JSON } )
  public void deleteFile( @FormParam( MethodParams.PATH ) @DefaultValue( "" ) String path,
                          @Context HttpServletResponse response ) throws IOException {

    IResourceLoader loader = getResourceLoader( path );
    IACAccess access = loader.getAccessControl();
    IRWAccess writer = loader.getWriter();

    if ( access.hasAccess( path, FileAccess.DELETE ) && writer.deleteFile( path ) ) {
      logger.debug( "File: " + path + " removed" );
      JsonUtils.buildJsonResult( response.getOutputStream(), true, null );
    } else {
View Full Code Here

  @Consumes( { APPLICATION_XML, APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED } )
  public String writeFile( @FormParam( MethodParams.PATH ) @DefaultValue( "" ) String path,
                           @FormParam( MethodParams.DATA ) @DefaultValue( "" ) String data,
                           @Context HttpServletResponse response ) throws IOException {

    IResourceLoader loader = getResourceLoader( path );
    IACAccess access = loader.getAccessControl();
    IRWAccess writer = loader.getWriter();

    String msg;
    if ( access.hasAccess( path, FileAccess.WRITE ) ) {
      if ( writer.saveFile( path, new ByteArrayInputStream( data.getBytes( CharsetHelper.getEncoding() ) ) ) ) {
        msg = "file '" + path + "' saved ok";
View Full Code Here

  @Consumes( { APPLICATION_XML, APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED } )
  public String createFile( @FormParam( MethodParams.PATH ) @DefaultValue( "" ) String path,
                            @FormParam( MethodParams.DATA ) @DefaultValue( "" ) String data,
                            @Context HttpServletResponse response ) throws IOException {

    IResourceLoader loader = getResourceLoader( path );
    IACAccess access = loader.getAccessControl();
    IRWAccess writer = loader.getWriter();

    String msg;
    if ( access.hasAccess( FilenameUtils.getFullPath( path ), FileAccess.WRITE ) ) {
      if ( writer.saveFile( path, new ByteArrayInputStream( data.getBytes( CharsetHelper.getEncoding() ) ) ) ) {
        msg = "file '" + path + "' saved ok";
View Full Code Here

  @GET
  @Path( "/file/canEdit" )
  @Produces( "text/plain" )
  @Consumes( { APPLICATION_XML, APPLICATION_JSON } )
  public String canEdit( @QueryParam( MethodParams.PATH ) @DefaultValue( "" ) String path ) {
    IResourceLoader loader = getResourceLoader( path );
    IACAccess contentAccess = loader.getAccessControl();
    return String.valueOf( contentAccess.hasAccess( path, FileAccess.WRITE ) );
  }
View Full Code Here

  @Path( "/createFolder" )
  @Consumes( { APPLICATION_XML, APPLICATION_JSON } )
  public String createFolder( @FormParam( MethodParams.PATH ) @DefaultValue( "" ) String path,
                              @Context HttpServletResponse response ) throws IOException {

    IResourceLoader loader = getResourceLoader( path );
    IReadAccess reader = loader.getReader();
    IRWAccess writer = loader.getWriter();
    IACAccess access = loader.getAccessControl();


    String msg;
    if ( access.hasAccess( path, FileAccess.WRITE ) ) {
      if ( reader.fileExists( path ) ) {
View Full Code Here

TOP

Related Classes of pt.webdetails.cdf.dd.reader.factory.IResourceLoader

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.