Skip to content

Commit

Permalink
Resources: port web
Browse files Browse the repository at this point in the history
  • Loading branch information
NielsCharlier committed Nov 20, 2015
1 parent a72682b commit fc1fb1d
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 56 deletions.
Expand Up @@ -40,6 +40,10 @@
import org.geoserver.platform.GeoServerExtensions;
import org.geoserver.platform.GeoServerResourceLoader;
import org.geoserver.platform.resource.LockProvider;
import org.geoserver.platform.resource.Resource;
import org.geoserver.platform.resource.Resource.Type;
import org.geoserver.platform.resource.Resources;
import org.geoserver.util.Filter;
import org.geoserver.web.GeoServerApplication;
import org.geoserver.web.data.settings.SettingsPluginPanelInfo;
import org.geoserver.web.wicket.LocalizedChoiceRenderer;
Expand Down Expand Up @@ -130,15 +134,18 @@ private void logLevelsAppend(Form form, IModel loggingInfoModel) {
GeoServerResourceLoader.class);
List<String> logProfiles = null;
try {
File logsDirectory = loader.find("logs");
if(logsDirectory.exists() && logsDirectory.isDirectory()) {
String[] propFiles = logsDirectory.list(new FilenameFilter() {

public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith("logging.properties");
Resource logsDirectory = loader.get("logs");
if(logsDirectory.getType() == Type.DIRECTORY) {
List<Resource> propFiles = Resources.list(logsDirectory, new Filter<Resource>() {
@Override
public boolean accept(Resource obj) {
return obj.name().toLowerCase().endsWith("logging.properties");
}
});
logProfiles = Arrays.asList(propFiles);
logProfiles = new ArrayList<String>();
for (Resource res : propFiles) {
logProfiles.add(res.name());
}
Collections.sort(logProfiles, String.CASE_INSENSITIVE_ORDER);
}
} catch (Exception e) {
Expand Down
24 changes: 10 additions & 14 deletions src/web/core/src/main/java/org/geoserver/web/admin/LogPage.java
Expand Up @@ -58,23 +58,19 @@ public LogPage(PageParameters params) {
location= getGeoServerApplication().getGeoServer().getLogging().getLocation();
}
if (location == null) {
try {
GeoServerResourceLoader loader = getGeoServerApplication().getResourceLoader();
location = new File(loader.findOrCreateDirectory("logs"), "geoserver.log")
.getAbsolutePath();
} catch (IOException e) {
throw new RuntimeException("Unexpeced error, could not find the log file location",
e);
GeoServerResourceLoader loader = getGeoServerApplication().getResourceLoader();
logFile = loader.get("logs").get("geoserver.log").file();
location = logFile.getAbsolutePath();
} else {
logFile = new File(location);
if (!logFile.isAbsolute()) {
// locate the geoserver.log file
GeoServerDataDirectory dd = getGeoServerApplication().getBeanOfType(
GeoServerDataDirectory.class);
logFile = dd.get(logFile.getPath()).file();
}
}
logFile = new File(location);

if (!logFile.isAbsolute()) {
// locate the geoserver.log file
GeoServerDataDirectory dd = getGeoServerApplication().getBeanOfType(
GeoServerDataDirectory.class);
logFile = new File(dd.root(), logFile.getPath());
}

if (!logFile.exists()) {
error("Could not find the GeoServer log file: " + logFile.getAbsolutePath());
Expand Down
Expand Up @@ -21,7 +21,6 @@
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.validation.IValidator;
import org.geoserver.config.GeoServerDataDirectory;
import org.geoserver.web.util.MapModel;
import org.geoserver.web.wicket.GeoServerAjaxFormLink;
import org.geoserver.web.wicket.browser.GeoServerFileChooser;
Expand Down
Expand Up @@ -5,9 +5,10 @@
*/
package org.geoserver.web.demo;

import java.io.File;
import java.io.Serializable;

import org.geoserver.platform.resource.Resource;

/**
* Holds on the properties used as arguments for the TestWfsPost servlet
*
Expand All @@ -19,7 +20,7 @@ public class DemoRequest implements Serializable {
/**
* The directory containing the demo files
*/
private final File demoDir;
private final Resource demoDir;

private String requestFileName;

Expand All @@ -31,7 +32,7 @@ public class DemoRequest implements Serializable {

private String password;

public DemoRequest(final File demoDir) {
public DemoRequest(final Resource demoDir) {
this.demoDir = demoDir;
}

Expand Down Expand Up @@ -75,7 +76,7 @@ public void setRequestBody(String requestBody) {
this.requestBody = requestBody;
}

public File getDemoDir() {
public Resource getDemoDir() {
return demoDir;
}
}
Expand Up @@ -9,6 +9,7 @@
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -39,6 +40,7 @@
import org.geoserver.platform.GeoServerExtensions;
import org.geoserver.platform.GeoServerResourceLoader;
import org.geoserver.platform.resource.Resource;
import org.geoserver.platform.resource.Resource.Type;
import org.geoserver.web.GeoServerBasePage;
import org.geoserver.web.wicket.CodeMirrorEditor;
import org.geotools.util.logging.Logging;
Expand All @@ -56,7 +58,7 @@ public class DemoRequestsPage extends GeoServerBasePage {

private static final Logger LOGGER = Logging.getLogger("org.geoserver.web.demo");

private final File demoDir;
private final Resource demoDir;

private TextField urlTextField;

Expand All @@ -69,8 +71,7 @@ public class DemoRequestsPage extends GeoServerBasePage {
public DemoRequestsPage() {
try {
GeoServerResourceLoader loader = this.getGeoServer().getCatalog().getResourceLoader();
Resource demo = loader.get("demo");
demoDir = demo.dir(); // find or create
demoDir = loader.get("demo");
} catch (Exception e) {
throw new WicketRuntimeException("Can't access demo requests directory: "
+ e.getMessage());
Expand All @@ -86,7 +87,7 @@ public DemoRequestsPage() {
*
* @param demoDir
*/
DemoRequestsPage(final File demoDir) {
DemoRequestsPage(final Resource demoDir) {
this.demoDir = demoDir;
DemoRequest model = new DemoRequest(demoDir);
setDefaultModel(new Model(model));
Expand All @@ -104,9 +105,9 @@ public DemoRequestsPage() {
* if an io exception occurs opening or loading the file
*/
private String getFileContents(final String reqFileName) throws IOException {
final File file = new File(demoDir, reqFileName);
final Resource file = demoDir.get(reqFileName);
final StringBuilder sb = new StringBuilder();
final BufferedReader reader = new BufferedReader(new FileReader(file));
final BufferedReader reader = new BufferedReader(new InputStreamReader(file.in()));
String line;
try {
while ((line = reader.readLine()) != null) {
Expand All @@ -119,7 +120,7 @@ private String getFileContents(final String reqFileName) throws IOException {
return sb.toString();
}

private void setUpDemoRequestsForm(final File demoDir) {
private void setUpDemoRequestsForm(final Resource demoDir) {
final IModel requestModel = getDefaultModel();

final Form demoRequestsForm;
Expand Down Expand Up @@ -265,11 +266,11 @@ public CharSequence decorateScript(CharSequence script) {
});
}

private List<String> getDemoList(final File demoDir) {
private List<String> getDemoList(final Resource demoDir) {
final List<String> demoList = new ArrayList<String>();
for (File file : demoDir.listFiles()) {
if (!file.isDirectory()) {
final String name = file.getName();
for (Resource file : demoDir.list()) {
if (file.getType() != Type.DIRECTORY) {
final String name = file.name();
if (name.endsWith(".url") || name.endsWith(".xml")) {
demoList.add(name);
} else {
Expand Down
Expand Up @@ -24,6 +24,7 @@
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.tester.FormTester;
import org.geoserver.config.GeoServerInfo;
import org.geoserver.platform.resource.Files;
import org.geoserver.web.GeoServerWicketTestSupport;
import org.geotools.test.TestData;
import org.junit.Before;
Expand All @@ -41,7 +42,7 @@ public class DemoRequestsPageTest extends GeoServerWicketTestSupport {
@Before
public void setUp() throws Exception {
demoDir = TestData.file(this, "demo-requests");
tester.startPage(new DemoRequestsPage(demoDir));
tester.startPage(new DemoRequestsPage(Files.asResource(demoDir)));
}

/**
Expand Down Expand Up @@ -108,7 +109,7 @@ public void testUrlLinkUnmodified() {
assertTrue(model.getObject() instanceof DemoRequest);
DemoRequest req = (DemoRequest) model.getObject();

assertEquals(demoDir, req.getDemoDir());
assertEquals(demoDir, req.getDemoDir().dir());
String requestFileName = req.getRequestFileName();
String requestUrl = req.getRequestUrl();
String requestBody = req.getRequestBody();
Expand Down Expand Up @@ -145,7 +146,7 @@ public void testUrlLinkSelected() {
assertTrue(model.getObject() instanceof DemoRequest);
DemoRequest req = (DemoRequest) model.getObject();

assertEquals(demoDir, req.getDemoDir());
assertEquals(demoDir, req.getDemoDir().dir());
String requestFileName = req.getRequestFileName();
String requestUrl = req.getRequestUrl();
String requestBody = req.getRequestBody();
Expand Down Expand Up @@ -220,7 +221,7 @@ public void testProxyBaseUrl() {
assertTrue(model.getObject() instanceof DemoRequest);
DemoRequest req = (DemoRequest) model.getObject();

assertEquals(demoDir, req.getDemoDir());
assertEquals(demoDir, req.getDemoDir().dir());
String requestFileName = req.getRequestFileName();
String requestUrl = req.getRequestUrl();

Expand Down
Expand Up @@ -21,6 +21,8 @@
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;
import org.geoserver.platform.resource.Resource;
import org.geoserver.platform.resource.Resources;
import org.geoserver.security.GeoServerSecurityManager;
import org.geoserver.security.GeoServerUserGroupService;
import org.geoserver.security.impl.GeoServerUser;
Expand Down Expand Up @@ -56,31 +58,29 @@ public SecurityWarningsPanel(String id) {
GeoServerSecurityManager manager = GeoServerApplication.get().getSecurityManager();

// warn in case of an existing masterpw.info
File mpInfo = null;
Resource mpInfo = null;
Label mpInfoLabel=null;
try {
mpInfo = new File (manager.getSecurityRoot(),
GeoServerSecurityManager.MASTER_PASSWD_INFO_FILENAME);
mpInfo = manager.get("security").get(GeoServerSecurityManager.MASTER_PASSWD_INFO_FILENAME);
mpInfoLabel=new Label("mpfile", new StringResourceModel("masterPasswordFile", (Component)this, null,
new Object[] {mpInfo.getCanonicalFile()}));
new Object[] {mpInfo.path()}));
mpInfoLabel.setEscapeModelStrings(false);
add(mpInfoLabel);
mpInfoLabel.setVisible(mpInfo.exists());
mpInfoLabel.setVisible(Resources.exists(mpInfo));
} catch (Exception ex) {
throw new RuntimeException (ex);
}

// warn in case of an existing user.properties.old
File userprops = null;
Resource userprops = null;
Label userpropsLabel=null;
try {
userprops = new File (manager.getSecurityRoot(),
"users.properties.old");
userprops = manager.get("security").get("users.properties.old");
userpropsLabel=new Label("userpropsold", new StringResourceModel("userPropertiesOldFile", (Component)this, null,
new Object[] {userprops.getCanonicalFile()}));
new Object[] {userprops.path()}));
userpropsLabel.setEscapeModelStrings(false);
add(userpropsLabel);
userpropsLabel.setVisible(userprops.exists());
userpropsLabel.setVisible(Resources.exists(userprops));
} catch (Exception ex) {
throw new RuntimeException (ex);
}
Expand Down
Expand Up @@ -5,7 +5,6 @@
*/
package org.geoserver.wfs.web;

import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
Expand All @@ -32,6 +31,9 @@
import org.apache.wicket.validation.validator.MinimumValidator;
import org.geoserver.platform.GeoServerExtensions;
import org.geoserver.platform.GeoServerResourceLoader;
import org.geoserver.platform.resource.Paths;
import org.geoserver.platform.resource.Resource;
import org.geoserver.platform.resource.Resource.Type;
import org.geoserver.web.services.BaseServiceAdminPage;
import org.geoserver.web.util.MapModel;
import org.geoserver.web.wicket.LiveCollectionModel;
Expand Down Expand Up @@ -118,8 +120,8 @@ protected Object load() {
// See discussion in GEOS-4503
GeoServerResourceLoader resourceLoader = GeoServerExtensions
.bean(GeoServerResourceLoader.class);
File esriProjs = resourceLoader.find("user_projections", "esri.properties");
if (null == esriProjs) {
Resource esriProjs = resourceLoader.get(Paths.path("user_projections", "esri.properties"));
if (esriProjs.getType() != Type.RESOURCE) {
defaultPrjFormat.setEnabled(false);
defaultPrjFormat.getModel().setObject(Boolean.FALSE);
defaultPrjFormat.add(new AttributeModifier("title", true, new Model(
Expand Down
Expand Up @@ -9,7 +9,6 @@
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
Expand All @@ -23,7 +22,6 @@

import javax.imageio.ImageIO;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
Expand Down

0 comments on commit fc1fb1d

Please sign in to comment.