mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-09-17 14:21:39 +00:00
REPO-4102: MNT-20213: Unable to run using Java 8
- explicit cast for compatibility with covariant return type on JDK 9's ByteBuffer
This commit is contained in:
@@ -1,28 +1,28 @@
|
|||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* Alfresco Repository
|
* Alfresco Repository
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* If the software was purchased under a paid Alfresco license, the terms of
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
* the paid license agreement will prevail. Otherwise, the software is
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
* provided under the following open source license terms:
|
* provided under the following open source license terms:
|
||||||
*
|
*
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU Lesser General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.repo.search.impl.lucene.index;
|
package org.alfresco.repo.search.impl.lucene.index;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
@@ -36,6 +36,7 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.RandomAccessFile;
|
import java.io.RandomAccessFile;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.nio.Buffer;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.MappedByteBuffer;
|
import java.nio.MappedByteBuffer;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
@@ -2428,10 +2429,10 @@ public class IndexInfo implements IndexMonitor
|
|||||||
{
|
{
|
||||||
buffer = ByteBuffer.wrap(new byte[8]);
|
buffer = ByteBuffer.wrap(new byte[8]);
|
||||||
channel.read(buffer);
|
channel.read(buffer);
|
||||||
buffer.position(0);
|
((Buffer) buffer).position(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.position(0);
|
((Buffer) buffer).position(0);
|
||||||
long onDiskVersion = buffer.getLong();
|
long onDiskVersion = buffer.getLong();
|
||||||
return (version == onDiskVersion);
|
return (version == onDiskVersion);
|
||||||
}
|
}
|
||||||
@@ -2455,10 +2456,10 @@ public class IndexInfo implements IndexMonitor
|
|||||||
{
|
{
|
||||||
buffer = ByteBuffer.wrap(new byte[(int) channel.size()]);
|
buffer = ByteBuffer.wrap(new byte[(int) channel.size()]);
|
||||||
channel.read(buffer);
|
channel.read(buffer);
|
||||||
buffer.position(0);
|
((Buffer) buffer).position(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.position(0);
|
((Buffer) buffer).position(0);
|
||||||
long onDiskVersion = buffer.getLong();
|
long onDiskVersion = buffer.getLong();
|
||||||
if (version != onDiskVersion)
|
if (version != onDiskVersion)
|
||||||
{
|
{
|
||||||
@@ -2604,7 +2605,7 @@ public class IndexInfo implements IndexMonitor
|
|||||||
buffer = ByteBuffer.wrap(new byte[(int) size]);
|
buffer = ByteBuffer.wrap(new byte[(int) size]);
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.position(0);
|
((Buffer) buffer).position(0);
|
||||||
|
|
||||||
buffer.putLong(version);
|
buffer.putLong(version);
|
||||||
CRC32 crc32 = new CRC32();
|
CRC32 crc32 = new CRC32();
|
||||||
@@ -2647,7 +2648,7 @@ public class IndexInfo implements IndexMonitor
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
buffer.rewind();
|
((Buffer) buffer).rewind();
|
||||||
channel.position(0);
|
channel.position(0);
|
||||||
channel.write(buffer);
|
channel.write(buffer);
|
||||||
}
|
}
|
||||||
|
@@ -30,6 +30,7 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.nio.Buffer;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.Channels;
|
import java.nio.channels.Channels;
|
||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
@@ -817,7 +818,7 @@ public class HttpClientTransmitterImpl implements TransferTransmitter
|
|||||||
while (src.read(buffer) != -1)
|
while (src.read(buffer) != -1)
|
||||||
{
|
{
|
||||||
// prepare the buffer to be drained
|
// prepare the buffer to be drained
|
||||||
buffer.flip();
|
((Buffer) buffer).flip();
|
||||||
// write to the channel, may block
|
// write to the channel, may block
|
||||||
dest.write(buffer);
|
dest.write(buffer);
|
||||||
|
|
||||||
@@ -827,7 +828,7 @@ public class HttpClientTransmitterImpl implements TransferTransmitter
|
|||||||
}
|
}
|
||||||
|
|
||||||
// EOF will leave buffer in fill state
|
// EOF will leave buffer in fill state
|
||||||
buffer.flip();
|
((Buffer) buffer).flip();
|
||||||
|
|
||||||
// make sure the buffer is fully drained.
|
// make sure the buffer is fully drained.
|
||||||
while (buffer.hasRemaining())
|
while (buffer.hasRemaining())
|
||||||
|
@@ -1,56 +1,57 @@
|
|||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* Alfresco Repository
|
* Alfresco Repository
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* If the software was purchased under a paid Alfresco license, the terms of
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
* the paid license agreement will prevail. Otherwise, the software is
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
* provided under the following open source license terms:
|
* provided under the following open source license terms:
|
||||||
*
|
*
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU Lesser General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.repo.content;
|
package org.alfresco.repo.content;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.Buffer;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.FileChannel;
|
||||||
import java.util.Locale;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
|
import java.util.Locale;
|
||||||
import org.alfresco.service.cmr.repository.ContentIOException;
|
|
||||||
import org.alfresco.service.cmr.repository.ContentReader;
|
import org.alfresco.service.cmr.repository.ContentIOException;
|
||||||
import org.alfresco.service.cmr.repository.ContentStreamListener;
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
import org.alfresco.service.cmr.repository.ContentStreamListener;
|
||||||
import org.alfresco.util.TempFileProvider;
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
import org.apache.commons.logging.Log;
|
import org.alfresco.util.TempFileProvider;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.Log;
|
||||||
import org.junit.Test;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.junit.Test;
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class that provides a set of tests for implementations
|
* Abstract base class that provides a set of tests for implementations
|
||||||
@@ -433,10 +434,10 @@ public abstract class AbstractWritableContentStoreTest extends AbstractReadOnlyC
|
|||||||
// attempt to delete the content
|
// attempt to delete the content
|
||||||
boolean deleted = store.delete(contentUrl);
|
boolean deleted = store.delete(contentUrl);
|
||||||
|
|
||||||
// close the reader stream
|
// close the reader stream
|
||||||
if(is != null)
|
if(is != null)
|
||||||
{
|
{
|
||||||
is.close();
|
is.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// get a fresh reader
|
// get a fresh reader
|
||||||
@@ -731,7 +732,7 @@ public abstract class AbstractWritableContentStoreTest extends AbstractReadOnlyC
|
|||||||
int count = fileChannel.read(buffer);
|
int count = fileChannel.read(buffer);
|
||||||
assertEquals("Incorrect number of bytes read", bytes.length, count);
|
assertEquals("Incorrect number of bytes read", bytes.length, count);
|
||||||
// transfer back to array
|
// transfer back to array
|
||||||
buffer.rewind();
|
((Buffer) buffer).rewind();
|
||||||
buffer.get(bytes);
|
buffer.get(bytes);
|
||||||
String checkContent = new String(bytes);
|
String checkContent = new String(bytes);
|
||||||
assertEquals("Content read failure", content, checkContent);
|
assertEquals("Content read failure", content, checkContent);
|
||||||
|
@@ -1,34 +1,35 @@
|
|||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* Alfresco Repository
|
* Alfresco Repository
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* If the software was purchased under a paid Alfresco license, the terms of
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
* the paid license agreement will prevail. Otherwise, the software is
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
* provided under the following open source license terms:
|
* provided under the following open source license terms:
|
||||||
*
|
*
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU Lesser General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.repo.content.filestore;
|
package org.alfresco.repo.content.filestore;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.nio.Buffer;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -86,8 +87,10 @@ public class FileIOTest extends TestCase
|
|||||||
int countB = 0;
|
int countB = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
countA = channelA.read((ByteBuffer)bufferA.clear());
|
((Buffer) bufferA).clear();
|
||||||
countB = channelB.read((ByteBuffer)bufferB.clear());
|
countA = channelA.read(bufferA);
|
||||||
|
((Buffer) bufferB).clear();
|
||||||
|
countB = channelB.read(bufferB);
|
||||||
assertEquals("Should read same number of bytes", countA, countB);
|
assertEquals("Should read same number of bytes", countA, countB);
|
||||||
} while (countA > 6);
|
} while (countA > 6);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user