Skip to content

Commit 4e5e5a4

Browse files
committed
4.5.3991
1 parent 9e81de7 commit 4e5e5a4

File tree

11 files changed

+88
-47
lines changed

11 files changed

+88
-47
lines changed

Java/androidfsstorage/app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ android {
3030
jarJar {
3131
rules = [
3232
'stax-api-1.0.1.jar' : 'javax.xml.** com.ithit.webdav.xml.@1',
33-
'webdav-server-4.5.3974.jar': 'javax.xml.stream.** com.ithit.webdav.xml.stream.@1'
33+
'webdav-server-4.5.3991.jar': 'javax.xml.stream.** com.ithit.webdav.xml.stream.@1'
3434
]
3535
}
3636

@@ -71,11 +71,11 @@ dependencies {
7171
implementation 'commons-io:commons-io:2.4'
7272
implementation 'com.google.code.gson:gson:2.7'
7373
implementation 'com.android.support:appcompat-v7:27.1.1'
74-
implementation('com.ithit.webdav.integration:android-integration:4.5.3974', {
74+
implementation('com.ithit.webdav.integration:android-integration:4.5.3991', {
7575
exclude group: 'org.nanohttpd', module: 'nanohttpd'
7676
})
7777
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
7878
jarJar 'stax:stax-api:1.0.1'
79-
jarJar 'com.ithit.webdav:webdav-server:4.5.3974'
79+
jarJar 'com.ithit.webdav:webdav-server:4.5.3991'
8080
testImplementation 'junit:junit:4.12'
8181
}

Java/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>4.5.3974</version>
9+
<version>4.5.3991</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>4.5.3974</version>
26+
<version>4.5.3991</version>
2727
</dependency>
2828
<dependency>
2929
<groupId>commons-dbcp</groupId>
@@ -125,7 +125,7 @@
125125
<dependency>
126126
<groupId>com.ithit.webdav</groupId>
127127
<artifactId>webdav-server</artifactId>
128-
<version>4.5.3974</version>
128+
<version>4.5.3991</version>
129129
</dependency>
130130

131131
<dependency>
@@ -165,7 +165,7 @@
165165
<goal>copy-resources</goal>
166166
</goals>
167167
<configuration>
168-
<outputDirectory>${project.build.directory}/deltav-4.5.3974/META-INF</outputDirectory>
168+
<outputDirectory>${project.build.directory}/deltav-4.5.3991/META-INF</outputDirectory>
169169
<overwrite>true</overwrite>
170170
<resources>
171171
<resource>
@@ -244,7 +244,7 @@
244244
<server>filesystem</server>
245245
<port>11021</port>
246246
<path>/</path>
247-
<warSourceDirectory>target/deltav-4.5.3974</warSourceDirectory>
247+
<warSourceDirectory>target/deltav-4.5.3991</warSourceDirectory>
248248
</configuration>
249249
</plugin>
250250
<plugin>

Java/deltav/src/main/java/com/ithit/webdav/samples/deltavservlet/FolderImpl.java

Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,64 @@ public class FolderImpl extends HierarchyItemImpl implements Folder, Search, Quo
4545
* @throws ServerException In case of an error.
4646
*/
4747
public PageResults getChildren(List<Property> propNames, Long offset, Long nResults, List<OrderProperty> orderProps) throws ServerException {
48-
List<HierarchyItemImpl> hierarchyItems = getDataAccess().readItems(
49-
"SELECT ID," +
50-
" Parent," +
51-
" ItemType," +
52-
" Name," +
53-
" Created," +
54-
" Modified," +
55-
" LastChunkSaved," +
56-
" TotalContentLength," +
57-
" VersionControlled," +
58-
" CheckinDuringUnlock," +
59-
" CheckedOut," +
60-
" AutoVersion," +
61-
" CheckinOnFileComplete"
62-
+ " FROM Repository"
63-
+ " WHERE Parent = ? AND ID != 0", getPath(), true, id);
64-
return new PageResults(hierarchyItems, (long) hierarchyItems.size());
48+
offset = offset == null ? 0 : offset;
49+
nResults = nResults == null || nResults < 0 ? 10 : nResults;
50+
51+
String sqlBeforeOrder = "SELECT ID," +
52+
" Parent," +
53+
" ItemType," +
54+
" Name," +
55+
" Created," +
56+
" Modified," +
57+
" LastChunkSaved," +
58+
" TotalContentLength," +
59+
" VersionControlled," +
60+
" CheckinDuringUnlock," +
61+
" CheckedOut," +
62+
" AutoVersion," +
63+
" CheckinOnFileComplete, row_number() over (ORDER BY ";
64+
65+
StringBuilder order = new StringBuilder();
66+
if (orderProps != null && !orderProps.isEmpty()) {
67+
for (OrderProperty orderProperty : orderProps) {
68+
String sortPropertyName = orderProperty.getProperty().getName();
69+
String sortPropertyVal = orderProperty.isAscending() ? " ASC " : " DESC ";
70+
if ("is-directory".equals(sortPropertyName))
71+
order.append("ItemType").append(sortPropertyVal).append(", ");
72+
73+
else if ("quota-used-bytes".equals(sortPropertyName))
74+
order.append("TotalContentLength").append(sortPropertyVal).append(", ");
75+
76+
else if ("getlastmodified".equals(sortPropertyName))
77+
order.append("Modified").append(sortPropertyVal).append(", ");
78+
79+
else if ("displayname".equals(sortPropertyName))
80+
order.append("Name").append(sortPropertyVal).append(", ");
81+
82+
else if ("getcontenttype".equals(sortPropertyName))
83+
order.append("substr(Name, nullif(instr(Name,'.', -1) + 1, 1))")
84+
.append(sortPropertyVal).append(", ");
85+
}
86+
87+
if (order.lastIndexOf(", ") == order.length() - 2) {
88+
order = new StringBuilder(order.substring(0, order.length() - 2));
89+
}
90+
} else {
91+
order.append("ID ASC");
92+
}
93+
94+
String sqlAfterOrder = ") line_number FROM Repository ";
95+
96+
String whereQuery = " WHERE Parent = ? AND ID != 0 ";
97+
98+
List<HierarchyItemImpl> hierarchyItems = getDataAccess().readItems("SELECT * FROM (" + sqlBeforeOrder + order + sqlAfterOrder + whereQuery +
99+
") WHERE line_number BETWEEN ? AND ? ORDER BY line_number",
100+
getPath(), true, id, offset + 1, nResults + offset);
101+
102+
long hierarchyItemsSize = getDataAccess()
103+
.executeInt("SELECT COUNT(ID) FROM Repository " + whereQuery, id);
104+
105+
return new PageResults(hierarchyItems, hierarchyItemsSize);
65106
}
66107

67108
/**

Java/filesystemstorage/pom.xml

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

77
<groupId>com.ithit.webdav.samples</groupId>
88
<artifactId>filesystemstorage</artifactId>
9-
<version>4.5.3974</version>
9+
<version>4.5.3991</version>
1010
<packaging>war</packaging>
1111

1212
<properties>
@@ -34,7 +34,7 @@
3434
<dependency>
3535
<groupId>com.ithit.webdav.integration</groupId>
3636
<artifactId>servlet-integration</artifactId>
37-
<version>4.5.3974</version>
37+
<version>4.5.3991</version>
3838
</dependency>
3939
<dependency>
4040
<groupId>commons-io</groupId>
@@ -142,7 +142,7 @@
142142
<dependency>
143143
<groupId>com.ithit.webdav</groupId>
144144
<artifactId>webdav-server</artifactId>
145-
<version>4.5.3974</version>
145+
<version>4.5.3991</version>
146146
</dependency>
147147
<dependency>
148148
<groupId>net.java.dev.jna</groupId>
@@ -228,7 +228,7 @@
228228
<server>filesystem</server>
229229
<port>11021</port>
230230
<path>/</path>
231-
<warSourceDirectory>target/filesystemstorage-4.5.3974</warSourceDirectory>
231+
<warSourceDirectory>target/filesystemstorage-4.5.3991</warSourceDirectory>
232232
</configuration>
233233
</plugin>
234234
<plugin>

Java/filesystemstorage/src/main/java/com/ithit/webdav/samples/fsstorageservlet/HierarchyItemImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ public void updateProperties(Property[] setProps, Property[] delProps)
313313
properties = getProperties();
314314
Property existingProp = properties.stream().filter(x -> x.getName().equals(prop.getName())).findFirst().orElse(null);
315315
if (existingProp != null) {
316-
existingProp.setValue(prop.getXmlValueRaw());
316+
existingProp.setXmlValueRaw(prop.getXmlValueRaw());
317317
} else {
318318
properties.add(prop);
319319
}

Java/oraclestorage/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>oraclestorage</artifactId>
9-
<version>4.5.3974</version>
9+
<version>4.5.3991</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>4.5.3974</version>
26+
<version>4.5.3991</version>
2727
</dependency>
2828
<dependency>
2929
<groupId>commons-dbcp</groupId>
@@ -125,7 +125,7 @@
125125
<dependency>
126126
<groupId>com.ithit.webdav</groupId>
127127
<artifactId>webdav-server</artifactId>
128-
<version>4.5.3974</version>
128+
<version>4.5.3991</version>
129129
</dependency>
130130

131131
<dependency>
@@ -165,7 +165,7 @@
165165
<goal>copy-resources</goal>
166166
</goals>
167167
<configuration>
168-
<outputDirectory>${project.build.directory}/oraclestorage-4.5.3974/META-INF</outputDirectory>
168+
<outputDirectory>${project.build.directory}/oraclestorage-4.5.3991/META-INF</outputDirectory>
169169
<overwrite>true</overwrite>
170170
<resources>
171171
<resource>
@@ -244,7 +244,7 @@
244244
<server>filesystem</server>
245245
<port>11021</port>
246246
<path>/</path>
247-
<warSourceDirectory>target/oraclestorage-4.5.3974</warSourceDirectory>
247+
<warSourceDirectory>target/oraclestorage-4.5.3991</warSourceDirectory>
248248
</configuration>
249249
</plugin>
250250
<plugin>

Java/springbootfsstorage/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</parent>
1010
<groupId>com.ithit.webdav.samples</groupId>
1111
<artifactId>springbootfsstorage</artifactId>
12-
<version>4.5.3974</version>
12+
<version>4.5.3991</version>
1313
<name>springbootfsstorage</name>
1414
<description>Demo project for Spring Boot</description>
1515

@@ -43,12 +43,12 @@
4343
<dependency>
4444
<groupId>com.ithit.webdav</groupId>
4545
<artifactId>webdav-server</artifactId>
46-
<version>4.5.3974</version>
46+
<version>4.5.3991</version>
4747
</dependency>
4848
<dependency>
4949
<groupId>com.ithit.webdav.integration</groupId>
5050
<artifactId>servlet-integration</artifactId>
51-
<version>4.5.3974</version>
51+
<version>4.5.3991</version>
5252
</dependency>
5353

5454
<!-- JNA dependencies -->

Java/springbootfsstorage/src/main/java/com/ithit/webdav/samples/springbootfs/impl/HierarchyItemImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ public void updateProperties(Property[] setProps, Property[] delProps)
312312
properties = getProperties();
313313
Property existingProp = properties.stream().filter(x -> x.getName().equals(prop.getName())).findFirst().orElse(null);
314314
if (existingProp != null) {
315-
existingProp.setValue(prop.getXmlValueRaw());
315+
existingProp.setXmlValueRaw(prop.getXmlValueRaw());
316316
} else {
317317
properties.add(prop);
318318
}

Java/springbootoraclestorage/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</parent>
1010
<groupId>com.ithit.webdav.samples</groupId>
1111
<artifactId>springbootoraclestorage</artifactId>
12-
<version>4.5.3974</version>
12+
<version>4.5.3991</version>
1313
<name>springbootoraclestorage</name>
1414
<description>Demo project for Spring Boot</description>
1515

@@ -53,12 +53,12 @@
5353
<dependency>
5454
<groupId>com.ithit.webdav</groupId>
5555
<artifactId>webdav-server</artifactId>
56-
<version>4.5.3974</version>
56+
<version>4.5.3991</version>
5757
</dependency>
5858
<dependency>
5959
<groupId>com.ithit.webdav.integration</groupId>
6060
<artifactId>servlet-integration</artifactId>
61-
<version>4.5.3974</version>
61+
<version>4.5.3991</version>
6262
</dependency>
6363

6464
<!-- Oracle dependencies -->

Kotlin/filesystemstorage/pom.xml

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

77
<groupId>com.ithit.webdav.samples</groupId>
88
<artifactId>kotlinfs</artifactId>
9-
<version>4.5.3974</version>
9+
<version>4.5.3991</version>
1010
<packaging>war</packaging>
1111

1212
<properties>
@@ -34,7 +34,7 @@
3434
<dependency>
3535
<groupId>com.ithit.webdav.integration</groupId>
3636
<artifactId>servlet-integration</artifactId>
37-
<version>4.5.3974</version>
37+
<version>4.5.3991</version>
3838
</dependency>
3939
<dependency>
4040
<groupId>commons-io</groupId>
@@ -142,7 +142,7 @@
142142
<dependency>
143143
<groupId>com.ithit.webdav</groupId>
144144
<artifactId>webdav-server</artifactId>
145-
<version>4.5.3974</version>
145+
<version>4.5.3991</version>
146146
</dependency>
147147
<dependency>
148148
<groupId>net.java.dev.jna</groupId>
@@ -240,7 +240,7 @@
240240
<server>filesystem</server>
241241
<port>11021</port>
242242
<path>/</path>
243-
<warSourceDirectory>target/kotlinfs-4.5.3974</warSourceDirectory>
243+
<warSourceDirectory>target/kotlinfs-4.5.3991</warSourceDirectory>
244244
</configuration>
245245
</plugin>
246246
<plugin>

0 commit comments

Comments
 (0)