Skip to content

Commit 9ee2907

Browse files
committed
3.0.2101
1 parent 98a3705 commit 9ee2907

File tree

186 files changed

+56302
-134
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+56302
-134
lines changed

androidfsstorage/app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ android {
2323
jarJar {
2424
rules = [
2525
'stax-api-1.0.1.jar': 'javax.xml.** com.ithit.webdav.xml.@1',
26-
'webdav-server-3.0.2008.jar': 'javax.xml.stream.** com.ithit.webdav.xml.stream.@1'
26+
'webdav-server-3.0.2101.jar': 'javax.xml.stream.** com.ithit.webdav.xml.stream.@1'
2727
]
2828
}
2929

@@ -38,11 +38,11 @@ dependencies {
3838
compile 'commons-io:commons-io:2.4'
3939
compile 'com.google.code.gson:gson:2.7'
4040
compile 'com.android.support:appcompat-v7:26.+'
41-
compile ('com.ithit.webdav.integration:android-integration:3.0.2008', {
41+
compile ('com.ithit.webdav.integration:android-integration:3.0.2101', {
4242
exclude group: 'org.nanohttpd', module: 'nanohttpd'
4343
})
4444
compile 'com.android.support.constraint:constraint-layout:1.0.2'
4545
jarJar 'stax:stax-api:1.0.1'
46-
jarJar 'com.ithit.webdav:webdav-server:3.0.2008'
46+
jarJar 'com.ithit.webdav:webdav-server:3.0.2101'
4747
testCompile 'junit:junit:4.12'
4848
}

androidfsstorage/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
buildscript {
44
repositories {
55
jcenter()
6+
google()
67
}
78
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.3.3'
9+
classpath 'com.android.tools.build:gradle:3.0.0'
910
classpath 'ru.tinkoff.gradle:jarjar:1.1.0'
1011
// NOTE: Do not place your application dependencies here; they belong
1112
// in the individual module build.gradle files
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Tue Oct 17 12:43:17 EEST 2017
1+
#Thu Oct 26 13:05:47 EEST 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

deltav/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.ithit.webdav.samples</groupId>
88
<artifactId>deltav</artifactId>
9-
<version>3.0.2008</version>
9+
<version>3.0.2101</version>
1010
<packaging>war</packaging>
1111

1212
<properties>
@@ -23,7 +23,7 @@
2323
<dependency>
2424
<groupId>com.ithit.webdav.integration</groupId>
2525
<artifactId>servlet-integration</artifactId>
26-
<version>3.0.2008</version>
26+
<version>3.0.2101</version>
2727
</dependency>
2828
<dependency>
2929
<groupId>commons-dbcp</groupId>
@@ -93,7 +93,7 @@
9393
<dependency>
9494
<groupId>com.ithit.webdav</groupId>
9595
<artifactId>webdav-server</artifactId>
96-
<version>3.0.2008</version>
96+
<version>3.0.2101</version>
9797
</dependency>
9898

9999
<dependency>
@@ -133,7 +133,7 @@
133133
<goal>copy-resources</goal>
134134
</goals>
135135
<configuration>
136-
<outputDirectory>${project.build.directory}/deltav-3.0.2008/META-INF</outputDirectory>
136+
<outputDirectory>${project.build.directory}/deltav-3.0.2101/META-INF</outputDirectory>
137137
<overwrite>true</overwrite>
138138
<resources>
139139
<resource>
@@ -212,7 +212,7 @@
212212
<server>filesystem</server>
213213
<port>11021</port>
214214
<path>/</path>
215-
<warSourceDirectory>target/deltav-3.0.2008</warSourceDirectory>
215+
<warSourceDirectory>target/deltav-3.0.2101</warSourceDirectory>
216216
</configuration>
217217
</plugin>
218218
<plugin>

deltav/src/main/java/com/ithit/webdav/samples/deltavservlet/WebDavServlet.java

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,24 @@
55
import com.ithit.webdav.integration.servlet.HttpServletDavResponse;
66
import com.ithit.webdav.server.DefaultLoggerImpl;
77
import com.ithit.webdav.server.Logger;
8+
import com.ithit.webdav.server.MimeType;
89
import com.ithit.webdav.server.deltav.AutoVersion;
910
import com.ithit.webdav.server.exceptions.DavException;
1011
import com.ithit.webdav.server.exceptions.WebDavStatus;
12+
import com.ithit.webdav.server.util.StringUtil;
1113

1214
import javax.servlet.ServletConfig;
1315
import javax.servlet.ServletException;
1416
import javax.servlet.http.HttpServlet;
1517
import javax.servlet.http.HttpServletRequest;
1618
import javax.servlet.http.HttpServletResponse;
1719
import javax.servlet.http.HttpSession;
18-
import java.io.BufferedReader;
19-
import java.io.FileReader;
20-
import java.io.IOException;
21-
import java.io.PrintWriter;
20+
import java.io.*;
21+
import java.nio.charset.Charset;
2222
import java.nio.file.Files;
2323
import java.nio.file.Path;
2424
import java.nio.file.Paths;
25+
import java.util.List;
2526

2627
/**
2728
* This servlet processes WEBDAV requests.
@@ -36,6 +37,7 @@ public class WebDavServlet extends HttpServlet {
3637
private boolean autoputUnderVersionControl;
3738
private static final String DEFAULT_INDEX_PATH = "WEB-INF/Index";
3839
private SearchFacade searchFacade;
40+
private String resourcePath;
3941

4042
/**
4143
* Reads license file content.
@@ -53,9 +55,7 @@ private static String getContents(String fileName) throws ServletException {
5355
contents.append(line);
5456
contents.append(System.getProperty("line.separator"));
5557
}
56-
} catch (IOException ex) {
57-
ex.printStackTrace();
58-
throw new ServletException("File not found: " + fileName, ex);
58+
} catch (IOException ignored) {
5959
}
6060

6161
return contents.toString();
@@ -92,6 +92,7 @@ public void init(ServletConfig servletConfig) throws ServletException {
9292
logger = new DefaultLoggerImpl(new HttpDavLoggingContext(servletConfig.getServletContext()));
9393

9494
String licenseFile = servletConfig.getInitParameter("license");
95+
resourcePath = servletConfig.getInitParameter("resources");
9596
showExceptions = "true".equals(servletConfig.getInitParameter("showExceptions"));
9697
try {
9798
autoVersionMode = AutoVersion.valueOf(servletConfig.getInitParameter("autoVersionMode"));
@@ -140,6 +141,11 @@ protected void service(HttpServletRequest httpServletRequest, HttpServletRespons
140141
throws ServletException, IOException {
141142

142143
WebDavEngine engine = new WebDavEngine(logger, license);
144+
if (!StringUtil.isNullOrEmpty(resourcePath)) {
145+
if (StringUtil.trimStart(httpServletRequest.getRequestURI(), "/").startsWith(StringUtil.trimStart(resourcePath, "/"))) {
146+
processResources(httpServletRequest, httpServletResponse, engine.getResponseCharacterEncoding());
147+
}
148+
}
143149
HttpServletDavRequest davRequest = new HttpServletDavRequest(httpServletRequest);
144150
HttpServletDavResponse davResponse = new HttpServletDavResponse(httpServletResponse);
145151
CustomFolderGetHandler handler = new CustomFolderGetHandler(engine.getResponseCharacterEncoding(), engine.getVersion());
@@ -169,6 +175,43 @@ protected void service(HttpServletRequest httpServletRequest, HttpServletRespons
169175
}
170176
}
171177

178+
private void processResources(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String charset) throws IOException {
179+
Path path = Paths.get(WebDavServlet.getRealPath(), "WEB-INF", httpServletRequest.getRequestURI());
180+
try( OutputStream out = httpServletResponse.getOutputStream()) {
181+
if (!httpServletRequest.getRequestURI().contains("Plugins")) {
182+
PrintStream stream = new PrintStream(out, true, charset);
183+
httpServletResponse.setCharacterEncoding(charset);
184+
httpServletResponse.setContentType(MimeType.getInstance().getMimeType(getFileExtension(path.toFile())));
185+
List<String> lines = Files.readAllLines(path, Charset.defaultCharset());
186+
for (String s : lines) {
187+
stream.println(s);
188+
}
189+
} else {
190+
httpServletResponse.setContentType("application/octet-stream");
191+
String fileName = path.getFileName().toString();
192+
httpServletResponse.setHeader("Content-disposition", "attachment; filename=" + fileName);
193+
File file = path.toFile();
194+
httpServletResponse.setContentLength((int) file.length());
195+
try (FileInputStream in = new FileInputStream(file)) {
196+
byte[] buffer = new byte[4096];
197+
int length;
198+
while ((length = in.read(buffer)) > 0) {
199+
out.write(buffer, 0, length);
200+
}
201+
}
202+
}
203+
}
204+
}
205+
206+
private String getFileExtension(File file) {
207+
String name = file.getName();
208+
try {
209+
return name.substring(name.lastIndexOf(".") + 1);
210+
} catch (Exception e) {
211+
return "";
212+
}
213+
}
214+
172215
/**
173216
* Creates index folder if not exists.
174217
*

deltav/src/main/webapp/WEB-INF/MyCustomHandlerPage.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -319,20 +319,20 @@ <h3>Connect with WebDAV Client</h3>
319319
To load files from your website download them here: https://www.webdavsystem.com/ajax/download,
320320
deploy them to your website and replace the 'https://www.ajaxbrowser.com/ITHitService/' path in this file.
321321
-->
322-
<script src="https://www.ajaxbrowser.com/ITHitService/WebDAVAJAXLibrary/ITHitWebDAVClient.js"
322+
<script src="wwwroot/node_modules/webdav.client/ITHitWebDAVClient.js"
323323
type="text/javascript"></script>
324324

325325
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
326326
<script src="https://cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.11.1/typeahead.jquery.min.js"></script>
327327
<script>
328328
function OpenAjaxFileBrowserWindow() {
329-
window.open("<%context path%>" + "afb/AjaxFileBrowser.jsp", "", "menubar=1,location=1,status=1,scrollbars=1,resizable=1,width=900,height=600");
329+
window.open("<%context path%>" + "wwwroot/AjaxFileBrowser.html", "", "menubar=1,location=1,status=1,scrollbars=1,resizable=1,width=900,height=600");
330330
}
331331

332332
function OpenTestsWindow() {
333333
var width = Math.round(screen.width * 0.5);
334334
var height = Math.round(screen.height * 0.8);
335-
window.open("<%context path%>" + "afb/AjaxIntegrationTests.jsp", "", "menubar=1,location=1,status=1,scrollbars=1,resizable=1,width=" + width + ",height=" + height);
335+
window.open("<%context path%>" + "wwwroot/AjaxIntegrationTests.html", "", "menubar=1,location=1,status=1,scrollbars=1,resizable=1,width=" + width + ",height=" + height);
336336
}
337337

338338
(function () {
@@ -809,7 +809,7 @@ <h3>Connect with WebDAV Client</h3>
809809
// IT Hit WebDAV Ajax Library protocol installers path.
810810
// Used to open non-MS Office documents or if MS Office is
811811
// not installed as well as to open OS File Manager.
812-
var installersFolderPath = 'https://www.ajaxbrowser.com/ITHitService/WebDAVAJAXLibrary/Plugins/';
812+
var installersFolderPath = 'wwwroot/node_modules/webdav.client/Plugins/';
813813

814814
var installerFilePath = installersFolderPath + ITHit.WebDAV.Client.DocManager.GetInstallFileName();
815815
window.open(installerFilePath);

deltav/src/main/webapp/WEB-INF/afb/AjaxIntegrationTests.jsp

Lines changed: 0 additions & 9 deletions
This file was deleted.

deltav/src/main/webapp/WEB-INF/web.xml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,16 @@
2727
<param-name>index-interval</param-name>
2828
<param-value>2</param-value>
2929
</init-param>
30+
<init-param>
31+
<param-name>resources</param-name>
32+
<param-value>wwwroot</param-value>
33+
</init-param>
3034
</servlet>
3135
<servlet-mapping>
3236
<servlet-name>WebDav servlet</servlet-name>
3337
<url-pattern>/*</url-pattern>
3438
</servlet-mapping>
3539

36-
<servlet>
37-
<servlet-name>AjaxBrowser</servlet-name>
38-
<jsp-file>/WEB-INF/afb/AjaxFileBrowser.jsp</jsp-file>
39-
</servlet>
40-
<servlet-mapping>
41-
<servlet-name>AjaxBrowser</servlet-name>
42-
<url-pattern>/afb/AjaxFileBrowser.jsp</url-pattern>
43-
</servlet-mapping>
44-
45-
<servlet>
46-
<servlet-name>AjaxTest</servlet-name>
47-
<jsp-file>/WEB-INF/afb/AjaxIntegrationTests.jsp</jsp-file>
48-
</servlet>
49-
<servlet-mapping>
50-
<servlet-name>AjaxTest</servlet-name>
51-
<url-pattern>/afb/AjaxIntegrationTests.jsp</url-pattern>
52-
</servlet-mapping>
53-
5440
<resource-ref>
5541
<description>Oracle connections</description>
5642
<res-ref-name>jdbc/Oracle</res-ref-name>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
<html lang="en">
3+
<head>
4+
<script src="node_modules/webdav.client/Tests/ITHitTests.js" type="text/javascript"></script>
5+
<script src="node_modules/webdav.client/ITHitWebDAVClient.js" type="text/javascript"></script>
6+
</head>
7+
<body>
8+
</body>
9+
</html>

0 commit comments

Comments
 (0)