Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
821cb7b
feat: Add getters: Alarm#getTriggerType and Alarm#getTriggerRelated
zextrasGiovanniDefacci Jun 19, 2026
021b5e9
feat: add MailServiceException factory method
zextrasGiovanniDefacci Jun 19, 2026
f30f117
refactor: cleanup/remove unused imports
zextrasGiovanniDefacci Jun 19, 2026
453cd64
feat: add VolumeBlob factory constructor, remove VolumeBlobProxy
zextrasGiovanniDefacci Jun 19, 2026
d09cdfc
feat: use newer mailbox, restore proviosly removed constant
zextrasGiovanniDefacci Jun 19, 2026
130ce74
feat: add Zimbra.isMailboxd()
zextrasGiovanniDefacci Jun 19, 2026
46a9e29
feat: inline DirectQueryFilterBuilder in ProvisioningImp
zextrasGiovanniDefacci Jun 19, 2026
684f9ea
feat: make ColorItem: ids, type amd color public
zextrasGiovanniDefacci Jun 19, 2026
941c929
feat: make RedoableOp.getVersion public
zextrasGiovanniDefacci Jun 19, 2026
5fcb36c
feat: make DocumentHandler.proxyIfNecessary public
zextrasGiovanniDefacci Jun 19, 2026
ad81240
feat: make Flag.of(int) public
zextrasGiovanniDefacci Jun 19, 2026
8d93246
feat: make VolumeManager.load public
zextrasGiovanniDefacci Jun 22, 2026
db40328
feat: make few Mailbox methods public
zextrasGiovanniDefacci Jun 22, 2026
d13d576
chore: fix import, cleanup
zextrasGiovanniDefacci Jun 23, 2026
cb48779
feat: make MailItem#encodeMetadata(Metadata) and MailItem.UnderlyingD…
zextrasGiovanniDefacci Jun 23, 2026
732030b
feat: make RedoableOp#serializeData public
zextrasGiovanniDefacci Jun 23, 2026
edfeab4
feat: make DocumentHandler.proxyIfNecessary public
zextrasGiovanniDefacci Jun 23, 2026
66e6978
feat: make SoapEngine#dispatchRequest(Element, Map<String,Object>, Zi…
zextrasGiovanniDefacci Jun 23, 2026
22c82eb
feat: add SoapServlet#invalidateServiceCache
zextrasGiovanniDefacci Jun 29, 2026
15472f9
feat: add MailboxManager removeMailboxData and setupMailboxWithSpecif…
zextrasGiovanniDefacci Jun 29, 2026
b215ca2
fix: remove unused class
zextrasGiovanniDefacci Jul 2, 2026
813f98e
refactor: remove unused imports
zextrasGiovanniDefacci Jul 3, 2026
08ba1aa
feat: add ExtensionUtil clearExtensions and removeExtension
zextrasGiovanniDefacci Jul 6, 2026
bd3891b
refactor: use StoreManager.setInstance
zextrasGiovanniDefacci Jul 6, 2026
9133690
refactor: use RedoLogProvider.setInstance
zextrasGiovanniDefacci Jul 6, 2026
19a3e1f
feat: make MimeHandlerManager.HandlerInfo public, add MimeHandlerMana…
zextrasGiovanniDefacci Jul 6, 2026
ec4f643
feat: make IndexWriterRef and LuceneIndexerImpl public
zextrasGiovanniDefacci Jul 7, 2026
38f8ff7
refactor: cleanup
zextrasGiovanniDefacci Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 2 additions & 39 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
<packaging>jar</packaging>

<properties>
<revision>4.32.0</revision>
<revision>4.32.0.avoid-reflection-in-zal</revision>
<changelist>-SNAPSHOT</changelist>
<carbonio.version>4.28.0</carbonio.version>
<carbonio.version>4.28.1.avoid-reflection-in-zal-SNAPSHOT</carbonio.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jackson.version>2.15.4</jackson.version>
<jfreechart.version>1.0.15</jfreechart.version>
Expand Down Expand Up @@ -706,39 +706,6 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.coderplus.maven.plugins</groupId>
<artifactId>copy-rename-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>rename-DataExtractor</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<sourceFile>
${project.build.directory}/classes/com/zimbra/cs/redolog/op/DataExtractor.class</sourceFile>
<destinationFile>
${project.build.directory}/classes/com/zimbra/cs/redolog/op/DataExtractor</destinationFile>
</configuration>
</execution>
<execution>
<id>rename-VolumeBlobProxy</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<sourceFile>
${project.build.directory}/classes/com/zimbra/cs/store/file/VolumeBlobProxy.class</sourceFile>
<destinationFile>
${project.build.directory}/classes/com/zimbra/cs/store/file/VolumeBlobProxy</destinationFile>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
Expand Down Expand Up @@ -778,10 +745,6 @@
<Zimbra-Extension-Class>org.openzal.zal.extension.ZalEntrypointImpl</Zimbra-Extension-Class>
</manifestEntries>
</archive>
<excludes>
<exclude>com/zimbra/cs/redolog/op/DataExtractor.class</exclude>
<exclude>com/zimbra/cs/store/file/VolumeBlobProxy.class</exclude>
</excludes>
</configuration>
</execution>
<execution>
Expand Down
9 changes: 4 additions & 5 deletions src/main/java/org/openzal/zal/BlobWrap.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

package org.openzal.zal;

import com.zimbra.cs.store.file.VolumeBlobProxy;
import com.zimbra.cs.store.file.VolumeBlob;
import com.zimbra.cs.store.file.VolumeMailboxBlob;
import com.zimbra.cs.store.file.VolumeStagedBlob;
import javax.annotation.Nonnull;
Expand Down Expand Up @@ -55,9 +55,9 @@ public BlobWrap(
{
throw new RuntimeException("Cannot handle blob of type " + blob.getClass());
}
if (VolumeBlobProxy.isVolumeBlob(blob))
if (VolumeBlobUtils.isVolumeBlob(blob))
{
volumeId = String.valueOf(new VolumeBlobProxy(blob).getVolumeId());
volumeId = String.valueOf(new VolumeBlob((VolumeBlob) blob).getVolumeId());
}

mVolumeId = volumeId;
Expand Down Expand Up @@ -133,8 +133,7 @@ public BlobWrap setSize(long size)
}

@Override
public long getStoredFileSize() throws IOException
{
public long getStoredFileSize() {
return mBlob.getFile().length();
}

Expand Down
35 changes: 1 addition & 34 deletions src/main/java/org/openzal/zal/Flag.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@

package org.openzal.zal;

import java.lang.reflect.*;

import org.openzal.zal.log.ZimbraLog;
import javax.annotation.Nonnull;


Expand Down Expand Up @@ -68,40 +66,9 @@ public final class Flag extends Item
public static int BITMASK_ARCHIVED = com.zimbra.cs.mailbox.Flag.BITMASK_ARCHIVED;
public static int BITMASK_IN_DUMPSTER = com.zimbra.cs.mailbox.Flag.BITMASK_IN_DUMPSTER;

private static Method sFlagOf;

static
{
try
{
Class partypes[] = new Class[1];
partypes[0] = int.class;

sFlagOf = com.zimbra.cs.mailbox.Flag.FlagInfo.class.getDeclaredMethod("of", partypes);
sFlagOf.setAccessible(true);
}
catch (Throwable ex)
{
ZimbraLog.extensions.fatal("ZAL Reflection Initialization Exception: " + Utils.exceptionToString(ex));
throw new RuntimeException(ex);
}
}


static com.zimbra.cs.mailbox.Flag.FlagInfo of(int id)
{
try
{
Object parameters[] = new Object[1];
parameters[0] = id;

return (com.zimbra.cs.mailbox.Flag.FlagInfo) sFlagOf.invoke(null, parameters);
}
catch (Throwable ex)
{
ZimbraLog.extensions.fatal("ZAL Reflection Initialization Exception: " + Utils.exceptionToString(ex));
throw new RuntimeException(ex);
}
return com.zimbra.cs.mailbox.Flag.FlagInfo.of(id);
}

public static int BITMASK_FROM_ME = com.zimbra.cs.mailbox.Flag.BITMASK_FROM_ME;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,17 @@
import java.io.IOException;
import java.io.InputStream;

class InternalOverrideBlobWithMailboxInfo extends com.zimbra.cs.store.file.VolumeBlobProxy
import static org.openzal.zal.VolumeBlobUtils.VOLUME_BLOB_DEFAULT_FILE;
import static org.openzal.zal.VolumeBlobUtils.VOLUME_BLOB_DEFAULT_VOLUME_ID;

class InternalOverrideBlobWithMailboxInfo extends com.zimbra.cs.store.file.VolumeBlob
{
private final Blob mBlob;
private final String mVolumeId;

public InternalOverrideBlobWithMailboxInfo(Blob blob)
{
super();
super(VOLUME_BLOB_DEFAULT_FILE, VOLUME_BLOB_DEFAULT_VOLUME_ID);
mBlob = blob;
mVolumeId = blob.getVolumeId();
}
Expand Down
9 changes: 6 additions & 3 deletions src/main/java/org/openzal/zal/InternalOverrideVolumeBlob.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

package org.openzal.zal;

import com.zimbra.cs.store.file.VolumeBlobProxy;
import com.zimbra.cs.store.file.VolumeBlob;
import org.apache.commons.io.IOUtils;

import java.io.BufferedInputStream;
Expand All @@ -29,14 +29,17 @@
import java.io.IOException;
import java.io.InputStream;

class InternalOverrideVolumeBlob extends VolumeBlobProxy
import static org.openzal.zal.VolumeBlobUtils.VOLUME_BLOB_DEFAULT_FILE;
import static org.openzal.zal.VolumeBlobUtils.VOLUME_BLOB_DEFAULT_VOLUME_ID;

class InternalOverrideVolumeBlob extends VolumeBlob
{
private final Blob mBlob;
private final String mVolumeId;

public InternalOverrideVolumeBlob(Blob blob)
{
super();
super(VOLUME_BLOB_DEFAULT_FILE, VOLUME_BLOB_DEFAULT_VOLUME_ID);
mBlob = blob;
mVolumeId = blob.getVolumeId();
}
Expand Down
Loading