001    package org.kuali.common.deploy.resources;
002    
003    import static com.google.common.base.Preconditions.checkArgument;
004    import static com.google.common.base.Preconditions.checkNotNull;
005    
006    import org.kuali.common.deploy.project.DeployProjectConstants;
007    import org.kuali.common.util.LocationUtils;
008    import org.kuali.common.util.project.ProjectUtils;
009    import org.kuali.common.util.project.model.ProjectResource;
010    
011    public enum RiceDeployProperties {
012    
013            DB(ProjectResource.classpath(DeployProjectConstants.ID, "rice/db.properties")), //
014            INIT_SOURCE_DB(ProjectResource.classpath(DeployProjectConstants.ID, "rice/initialize-source-db.properties")); //
015    
016            private RiceDeployProperties(ProjectResource resource) {
017                    checkNotNull(resource, "'resource' cannot be null");
018                    this.resource = resource;
019                    String path = ProjectUtils.getPath(resource);
020                    checkArgument(LocationUtils.exists(path), "[%s] does not exist", path);
021            }
022    
023            private final ProjectResource resource;
024    
025            public ProjectResource getResource() {
026                    return resource;
027            }
028    
029    }