Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.javaswift.joss.client.website;
  
  
  import java.io.File;
 
 public abstract class AbstractWebsite extends AbstractContainer implements Website {
 
     private String[] ignoreFilters = new String[] {};
 
     public AbstractWebsite(Account accountString nameboolean allowCaching) {
         super(accountnameallowCaching);
     }
 
     @Override
     public Website setIgnoreFilters(String[] ignoreFilters) {
         this. = ignoreFilters;
         return this;
     }
 
     @Override
    
Websites are made public by default. If this is not desirable, the Website can be made private again
 
     public Website create() {
         super.create();
         makePublic();
         return this;
     }
 
     protected Object getHeader(String metadataHeaderName) {
         return getMetadata(metadataHeaderName);
     }
 
     protected StoredObject getStoredObject(String metadataHeaderName) {
         Object value = getHeader(metadataHeaderName);
         return value != null ? getObject(value.toString()) : null;
     }
 
     protected void setHeader(WebsiteHeader header) {
         setAndSaveMetadata(header.getMetadataHeader(), header.getHeaderValue());
     }
 
     public String getMetadataHeader(String websiteHeader) {
         return . + websiteHeader;
     }
     
     @Override
     public StoredObject getIndexPage() {
         return getStoredObject(getMetadataHeader(.));
     }
 
     @Override
     public StoredObject getErrorPage() {
         return getStoredObject(getMetadataHeader(.));
     }
 
     @Override
     public StoredObject getListingCSS() {
     }
 
     @Override
     public boolean isListing() {
         Object value = getHeader(getMetadataHeader(.));
         return value != null && Boolean.parseBoolean(value.toString());
     }
 
     @Override
     public void setIndexPage(StoredObject indexPage) {
         setHeader(new IndexPage(indexPage.getName()));
     }
 
     @Override
     public void setErrorPage(StoredObject errorPage) {
         setHeader(new ErrorPage(errorPage.getName()));
     }
 
     @Override
     public void setListingCSS(StoredObject listingCSS) {
         setHeader(new ListingCSS(listingCSS.getName()));
     }
 
     @Override
     public void setListing(boolean listing) {
         setHeader(new Listing(listing));
     }
 
     @Override
     public void pushDirectory(File directory) {
         syncDirectory(
                 new LocalFileObjects(directory),    // source
                 new ObjectStoreFileObjects(this));  // target
     }
 
    @Override
    public void pullDirectory(File directory) {
        syncDirectory(
                new ObjectStoreFileObjects(this),   // target
                new LocalFileObjects(directory ));   // source
    }
    protected void syncDirectory(FileObjects sourceFileObjects target) {
        // Copy all new & changed files from the source to the target directory
        saveObjects(sourcetarget);
        // Delete all files in the target directory that do not exist in the source directory
        deleteObjects(sourcetarget);
        // If target is folder-based, make sure the empty folders are removed
        target.cleanup();
    }
    private void deleteObjects(FileObjects sourceFileObjects target) {
        for (String targetPath : target.keys()) {
            if (target.ignore(targetPath)) {
                continue;
            }
            FileObject targetObject = target.get(targetPath);
            if (source.get(targetPath) == null) {
                targetObject.delete();
            }
        }
    }
    @SuppressWarnings("unchecked")
    private void saveObjects(FileObjects sourceFileObjects target) {
        for (String sourcePath : source.keys()) {
            FileObject sourceObject = source.get(sourcePath);
            FileObject targetObject = target.get(sourcePath);
            if (targetObject == null) {
                targetObject = target.create(sourcePath);
            } else if (sourceObject.getMd5().equals(targetObject.getMd5())) {
                continue// objects are equal, no action required
            }
            targetObject.save(sourceObject);
        }
    }
    @Override
    public String getHost() {
        String strippedHost = this.getAccount().getOriginalHost().replaceAll("http://""").replaceAll("https://""");
        return getName() + "." + strippedHost;
    }
New to GrepCode? Check out our FAQ X