cleanup work
This commit is contained in:
Binary file not shown.
@@ -42,8 +42,7 @@ import org.bouncycastle.util.Store;
|
||||
|
||||
public class BouncyCastleCrypto {
|
||||
|
||||
public static byte[] signData(byte[] data, final X509Certificate signingCertificate, final PrivateKey signingKey)
|
||||
throws CertificateEncodingException, OperatorCreationException, CMSException, IOException {
|
||||
public static byte[] signData(byte[] data, final X509Certificate signingCertificate, final PrivateKey signingKey) throws CertificateEncodingException, OperatorCreationException, CMSException, IOException {
|
||||
byte[] signedMessage = null;
|
||||
List<X509Certificate> certList = new ArrayList<X509Certificate>();
|
||||
CMSTypedData cmsData = new CMSProcessableByteArray(data);
|
||||
@@ -51,17 +50,14 @@ public class BouncyCastleCrypto {
|
||||
Store certs = new JcaCertStore(certList);
|
||||
CMSSignedDataGenerator cmsGenerator = new CMSSignedDataGenerator();
|
||||
ContentSigner contentSigner = new JcaContentSignerBuilder("SHA256withRSA").build(signingKey);
|
||||
cmsGenerator.addSignerInfoGenerator(
|
||||
new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().setProvider("BC").build())
|
||||
.build(contentSigner, signingCertificate));
|
||||
cmsGenerator.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().setProvider("BC").build()).build(contentSigner, signingCertificate));
|
||||
cmsGenerator.addCertificates(certs);
|
||||
CMSSignedData cms = cmsGenerator.generate(cmsData, true);
|
||||
signedMessage = cms.getEncoded();
|
||||
return signedMessage;
|
||||
}
|
||||
|
||||
public static boolean verifSignData(final byte[] signedData)
|
||||
throws CMSException, IOException, OperatorCreationException, CertificateException {
|
||||
public static boolean verifSignData(final byte[] signedData) throws CMSException, IOException, OperatorCreationException, CertificateException {
|
||||
ByteArrayInputStream bIn = new ByteArrayInputStream(signedData);
|
||||
ASN1InputStream aIn = new ASN1InputStream(bIn);
|
||||
CMSSignedData s = new CMSSignedData(ContentInfo.getInstance(aIn.readObject()));
|
||||
@@ -81,16 +77,14 @@ public class BouncyCastleCrypto {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static byte[] encryptData(final byte[] data, X509Certificate encryptionCertificate)
|
||||
throws CertificateEncodingException, CMSException, IOException {
|
||||
public static byte[] encryptData(final byte[] data, X509Certificate encryptionCertificate) throws CertificateEncodingException, CMSException, IOException {
|
||||
byte[] encryptedData = null;
|
||||
if (null != data && null != encryptionCertificate) {
|
||||
CMSEnvelopedDataGenerator cmsEnvelopedDataGenerator = new CMSEnvelopedDataGenerator();
|
||||
JceKeyTransRecipientInfoGenerator jceKey = new JceKeyTransRecipientInfoGenerator(encryptionCertificate);
|
||||
cmsEnvelopedDataGenerator.addRecipientInfoGenerator(jceKey);
|
||||
CMSTypedData msg = new CMSProcessableByteArray(data);
|
||||
OutputEncryptor encryptor = new JceCMSContentEncryptorBuilder(CMSAlgorithm.AES128_CBC).setProvider("BC")
|
||||
.build();
|
||||
OutputEncryptor encryptor = new JceCMSContentEncryptorBuilder(CMSAlgorithm.AES128_CBC).setProvider("BC").build();
|
||||
CMSEnvelopedData cmsEnvelopedData = cmsEnvelopedDataGenerator.generate(msg, encryptor);
|
||||
encryptedData = cmsEnvelopedData.getEncoded();
|
||||
}
|
||||
|
||||
@@ -5,12 +5,17 @@ import net.bytebuddy.implementation.bind.annotation.BindingPriority;
|
||||
public class Bar {
|
||||
|
||||
@BindingPriority(3)
|
||||
public static String sayHelloBar() { return "Holla in Bar!"; }
|
||||
public static String sayHelloBar() {
|
||||
return "Holla in Bar!";
|
||||
}
|
||||
|
||||
@BindingPriority(2)
|
||||
public static String sayBar() { return "bar"; }
|
||||
|
||||
public String bar() { return Bar.class.getSimpleName() + " - Bar"; }
|
||||
public static String sayBar() {
|
||||
return "bar";
|
||||
}
|
||||
|
||||
public String bar() {
|
||||
return Bar.class.getSimpleName() + " - Bar";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.baeldung.bytebuddy;
|
||||
|
||||
public class Foo {
|
||||
|
||||
public String sayHelloFoo() { return "Hello in Foo!"; }
|
||||
public String sayHelloFoo() {
|
||||
return "Hello in Foo!";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,9 +19,7 @@ final class DataObject {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataObject{" +
|
||||
"data='" + data + '\'' +
|
||||
'}';
|
||||
return "DataObject{" + "data='" + data + '\'' + '}';
|
||||
}
|
||||
|
||||
public static DataObject get(String data) {
|
||||
|
||||
@@ -7,9 +7,7 @@ import net.openhft.chronicle.ExcerptAppender;
|
||||
|
||||
public class ChronicleQueue {
|
||||
|
||||
static void writeToQueue(
|
||||
Chronicle chronicle, String stringValue, int intValue, long longValue, double doubleValue)
|
||||
throws IOException {
|
||||
static void writeToQueue(Chronicle chronicle, String stringValue, int intValue, long longValue, double doubleValue) throws IOException {
|
||||
ExcerptAppender appender = chronicle.createAppender();
|
||||
appender.startExcerpt();
|
||||
appender.writeUTF(stringValue);
|
||||
|
||||
@@ -24,7 +24,7 @@ public class CourseEntity {
|
||||
public void setCodes(List<String> codes) {
|
||||
this.codes = codes;
|
||||
}
|
||||
|
||||
|
||||
public void setStudent(String id, Student student) {
|
||||
students.put(id, student);
|
||||
}
|
||||
|
||||
@@ -8,33 +8,27 @@ import org.apache.commons.beanutils.PropertyUtils;
|
||||
|
||||
public class CourseService {
|
||||
|
||||
public static void setValues(Course course, String name, List<String> codes)
|
||||
throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
public static void setValues(Course course, String name, List<String> codes) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
// Setting the simple properties
|
||||
PropertyUtils.setSimpleProperty(course, "name", name);
|
||||
PropertyUtils.setSimpleProperty(course, "codes", codes);
|
||||
}
|
||||
|
||||
public static void setIndexedValue(Course course, int codeIndex, String code)
|
||||
throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
|
||||
public static void setIndexedValue(Course course, int codeIndex, String code) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
// Setting the indexed properties
|
||||
PropertyUtils.setIndexedProperty(course, "codes[" + codeIndex + "]", code);
|
||||
}
|
||||
|
||||
public static void setMappedValue(Course course, String enrollId, Student student)
|
||||
throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
public static void setMappedValue(Course course, String enrollId, Student student) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
// Setting the mapped properties
|
||||
PropertyUtils.setMappedProperty(course, "enrolledStudent(" + enrollId + ")", student);
|
||||
}
|
||||
|
||||
public static String getNestedValue(Course course, String enrollId, String nestedPropertyName)
|
||||
throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
return (String) PropertyUtils.getNestedProperty(
|
||||
course, "enrolledStudent(" + enrollId + ")." + nestedPropertyName);
|
||||
|
||||
public static String getNestedValue(Course course, String enrollId, String nestedPropertyName) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
|
||||
return (String) PropertyUtils.getNestedProperty(course, "enrolledStudent(" + enrollId + ")." + nestedPropertyName);
|
||||
}
|
||||
|
||||
public static void copyProperties(Course course, CourseEntity courseEntity)
|
||||
throws IllegalAccessException, InvocationTargetException {
|
||||
|
||||
public static void copyProperties(Course course, CourseEntity courseEntity) throws IllegalAccessException, InvocationTargetException {
|
||||
BeanUtils.copyProperties(course, courseEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ public class AuditFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public boolean postprocess(Context context, Exception exception) {
|
||||
// Send notification to customer & bank.
|
||||
// Send notification to customer & bank.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ public class Customer implements Comparable<Customer> {
|
||||
this.name = name;
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
|
||||
public Customer(String name) {
|
||||
super();
|
||||
this.name = name;
|
||||
|
||||
@@ -20,7 +20,6 @@ public class Email {
|
||||
public void setEmployeeId(Integer employeeId) {
|
||||
this.employeeId = employeeId;
|
||||
}
|
||||
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
|
||||
@@ -26,9 +26,7 @@ public class BuilderMethods {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return new HashCodeBuilder().append(this.intValue)
|
||||
.append(this.strSample)
|
||||
.toHashCode();
|
||||
return new HashCodeBuilder().append(this.intValue).append(this.strSample).toHashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,16 +39,12 @@ public class BuilderMethods {
|
||||
}
|
||||
final BuilderMethods otherObject = (BuilderMethods) obj;
|
||||
|
||||
return new EqualsBuilder().append(this.intValue, otherObject.intValue)
|
||||
.append(this.strSample, otherObject.strSample)
|
||||
.isEquals();
|
||||
return new EqualsBuilder().append(this.intValue, otherObject.intValue).append(this.strSample, otherObject.strSample).isEquals();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this).append("INTVALUE", this.intValue)
|
||||
.append("STRINGVALUE", this.strSample)
|
||||
.toString();
|
||||
return new ToStringBuilder(this).append("INTVALUE", this.intValue).append("STRINGVALUE", this.strSample).toString();
|
||||
}
|
||||
|
||||
public static void main(final String[] arguments) {
|
||||
@@ -58,21 +52,21 @@ public class BuilderMethods {
|
||||
System.out.println(simple1.getName());
|
||||
System.out.println(simple1.hashCode());
|
||||
System.out.println(simple1.toString());
|
||||
|
||||
|
||||
SampleLazyInitializer sampleLazyInitializer = new SampleLazyInitializer();
|
||||
|
||||
|
||||
try {
|
||||
sampleLazyInitializer.get();
|
||||
} catch (ConcurrentException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
SampleBackgroundInitializer sampleBackgroundInitializer = new SampleBackgroundInitializer();
|
||||
sampleBackgroundInitializer.start();
|
||||
|
||||
|
||||
// Proceed with other tasks instead of waiting for the SampleBackgroundInitializer task to finish.
|
||||
|
||||
|
||||
try {
|
||||
Object result = sampleBackgroundInitializer.get();
|
||||
} catch (ConcurrentException e) {
|
||||
@@ -81,13 +75,13 @@ public class BuilderMethods {
|
||||
}
|
||||
}
|
||||
|
||||
class SampleBackgroundInitializer extends BackgroundInitializer<String>{
|
||||
class SampleBackgroundInitializer extends BackgroundInitializer<String> {
|
||||
|
||||
@Override
|
||||
protected String initialize() throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// Any complex task that takes some time
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.baeldung.commons.lang3;
|
||||
import org.apache.commons.lang3.concurrent.LazyInitializer;
|
||||
|
||||
public class SampleLazyInitializer extends LazyInitializer<SampleObject> {
|
||||
|
||||
|
||||
@Override
|
||||
protected SampleObject initialize() {
|
||||
return new SampleObject();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.baeldung.commons.lang3;
|
||||
|
||||
public class SampleObject {
|
||||
|
||||
//Ignored
|
||||
|
||||
// Ignored
|
||||
|
||||
}
|
||||
|
||||
@@ -53,16 +53,12 @@ class Docx4jExample {
|
||||
|
||||
File image = new File(imagePath);
|
||||
byte[] fileContent = Files.readAllBytes(image.toPath());
|
||||
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage
|
||||
.createImagePart(wordPackage, fileContent);
|
||||
Inline inline = imagePart.createImageInline(
|
||||
"Baeldung Image", "Alt Text", 1, 2, false);
|
||||
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordPackage, fileContent);
|
||||
Inline inline = imagePart.createImageInline("Baeldung Image", "Alt Text", 1, 2, false);
|
||||
P Imageparagraph = addImageToParagraph(inline);
|
||||
mainDocumentPart.getContent().add(Imageparagraph);
|
||||
|
||||
int writableWidthTwips = wordPackage.getDocumentModel()
|
||||
.getSections().get(0).getPageDimensions()
|
||||
.getWritableWidthTwips();
|
||||
int writableWidthTwips = wordPackage.getDocumentModel().getSections().get(0).getPageDimensions().getWritableWidthTwips();
|
||||
int columnNumber = 3;
|
||||
Tbl tbl = TblFactory.createTable(3, 3, writableWidthTwips / columnNumber);
|
||||
List<Object> rows = tbl.getContent();
|
||||
|
||||
@@ -7,7 +7,7 @@ import fj.data.IO;
|
||||
import fj.data.IOFunctions;
|
||||
|
||||
public class FunctionalJavaIOMain {
|
||||
|
||||
|
||||
public static IO<Unit> printLetters(final String s) {
|
||||
return () -> {
|
||||
for (int i = 0; i < s.length(); i++) {
|
||||
@@ -21,8 +21,7 @@ public class FunctionalJavaIOMain {
|
||||
|
||||
F<String, IO<Unit>> printLetters = i -> printLetters(i);
|
||||
|
||||
IO<Unit> lowerCase = IOFunctions
|
||||
.stdoutPrintln("What's your first Name ?");
|
||||
IO<Unit> lowerCase = IOFunctions.stdoutPrintln("What's your first Name ?");
|
||||
|
||||
IO<Unit> input = IOFunctions.stdoutPrint("First Name: ");
|
||||
|
||||
@@ -32,14 +31,11 @@ public class FunctionalJavaIOMain {
|
||||
|
||||
F<String, String> toUpperCase = i -> i.toUpperCase();
|
||||
|
||||
F<String, IO<Unit>> transformInput = F1Functions
|
||||
.<String, IO<Unit>, String> o(printLetters).f(toUpperCase);
|
||||
F<String, IO<Unit>> transformInput = F1Functions.<String, IO<Unit>, String> o(printLetters).f(toUpperCase);
|
||||
|
||||
IO<Unit> readAndPrintResult = IOFunctions.bind(readInput,
|
||||
transformInput);
|
||||
IO<Unit> readAndPrintResult = IOFunctions.bind(readInput, transformInput);
|
||||
|
||||
IO<Unit> program = IOFunctions.bind(userInput,
|
||||
nothing -> readAndPrintResult);
|
||||
IO<Unit> program = IOFunctions.bind(userInput, nothing -> readAndPrintResult);
|
||||
|
||||
IOFunctions.toSafe(program).run();
|
||||
|
||||
|
||||
@@ -11,16 +11,16 @@ import fj.function.Integers;
|
||||
public class FunctionalJavaMain {
|
||||
|
||||
public static final F<Integer, Boolean> isEven = i -> i % 2 == 0;
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
List<Integer> fList = List.list(3, 4, 5, 6);
|
||||
List<Boolean> evenList = fList.map(isEven);
|
||||
Show.listShow(Show.booleanShow).println(evenList);
|
||||
|
||||
|
||||
fList = fList.map(i -> i + 1);
|
||||
Show.listShow(Show.intShow).println(fList);
|
||||
|
||||
|
||||
Array<Integer> a = Array.array(17, 44, 67, 2, 22, 80, 1, 27);
|
||||
Array<Integer> b = a.filter(Integers.even);
|
||||
Show.arrayShow(Show.intShow).println(b);
|
||||
@@ -28,11 +28,11 @@ public class FunctionalJavaMain {
|
||||
Array<String> array = Array.array("Welcome", "To", "baeldung");
|
||||
Boolean isExist = array.exists(s -> List.fromString(s).forall(Characters.isLowerCase));
|
||||
System.out.println(isExist);
|
||||
|
||||
|
||||
Array<Integer> intArray = Array.array(17, 44, 67, 2, 22, 80, 1, 27);
|
||||
int sum = intArray.foldLeft(Integers.add, 0);
|
||||
System.out.println(sum);
|
||||
|
||||
|
||||
Option<Integer> n1 = Option.some(1);
|
||||
Option<Integer> n2 = Option.some(2);
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@ public class LineSplitter implements FlatMapFunction<String, Tuple2<String, Inte
|
||||
public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {
|
||||
|
||||
String[] tokens = value.toLowerCase().split("\\W+");
|
||||
Stream.of(tokens)
|
||||
.filter(t -> t.length() > 0)
|
||||
.forEach(token -> out.collect(new Tuple2<>(token, 1)));
|
||||
Stream.of(tokens).filter(t -> t.length() > 0).forEach(token -> out.collect(new Tuple2<>(token, 1)));
|
||||
}
|
||||
}
|
||||
@@ -12,9 +12,7 @@ public class WordCount {
|
||||
public static DataSet<Tuple2<String, Integer>> startWordCount(ExecutionEnvironment env, List<String> lines) throws Exception {
|
||||
DataSet<String> text = env.fromCollection(lines);
|
||||
|
||||
return text.flatMap(new LineSplitter())
|
||||
.groupBy(0)
|
||||
.aggregate(Aggregations.SUM, 1);
|
||||
return text.flatMap(new LineSplitter()).groupBy(0).aggregate(Aggregations.SUM, 1);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -20,21 +20,13 @@ import com.google.api.services.sheets.v4.SheetsScopes;
|
||||
public class GoogleAuthorizeUtil {
|
||||
public static Credential authorize() throws IOException, GeneralSecurityException {
|
||||
InputStream in = GoogleAuthorizeUtil.class.getResourceAsStream("/google-sheets-client-secret.json");
|
||||
GoogleClientSecrets clientSecrets = GoogleClientSecrets
|
||||
.load(JacksonFactory.getDefaultInstance(), new InputStreamReader(in));
|
||||
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JacksonFactory.getDefaultInstance(), new InputStreamReader(in));
|
||||
|
||||
List<String> scopes = Arrays.asList(SheetsScopes.SPREADSHEETS);
|
||||
|
||||
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow
|
||||
.Builder(GoogleNetHttpTransport.newTrustedTransport(),
|
||||
JacksonFactory.getDefaultInstance(),
|
||||
clientSecrets,
|
||||
scopes)
|
||||
.setDataStoreFactory(new MemoryDataStoreFactory())
|
||||
.setAccessType("offline")
|
||||
.build();
|
||||
Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver())
|
||||
.authorize("user");
|
||||
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), clientSecrets, scopes).setDataStoreFactory(new MemoryDataStoreFactory())
|
||||
.setAccessType("offline").build();
|
||||
Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
|
||||
|
||||
return credential;
|
||||
}
|
||||
|
||||
@@ -14,10 +14,7 @@ public class SheetsServiceUtil {
|
||||
|
||||
public static Sheets getSheetsService() throws IOException, GeneralSecurityException {
|
||||
Credential credential = GoogleAuthorizeUtil.authorize();
|
||||
return new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(),
|
||||
JacksonFactory.getDefaultInstance(), credential)
|
||||
.setApplicationName(APPLICATION_NAME)
|
||||
.build();
|
||||
return new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), credential).setApplicationName(APPLICATION_NAME).build();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,30 +21,23 @@ import java.util.concurrent.Future;
|
||||
|
||||
public class GitHubExample {
|
||||
static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
|
||||
//static final HttpTransport HTTP_TRANSPORT = new ApacheHttpTransport();
|
||||
// static final HttpTransport HTTP_TRANSPORT = new ApacheHttpTransport();
|
||||
static final JsonFactory JSON_FACTORY = new JacksonFactory();
|
||||
//static final JsonFactory JSON_FACTORY = new GsonFactory();
|
||||
// static final JsonFactory JSON_FACTORY = new GsonFactory();
|
||||
|
||||
private static void run() throws Exception {
|
||||
HttpRequestFactory requestFactory
|
||||
= HTTP_TRANSPORT.createRequestFactory(
|
||||
(HttpRequest request) -> {
|
||||
request.setParser(new JsonObjectParser(JSON_FACTORY));
|
||||
});
|
||||
HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory((HttpRequest request) -> {
|
||||
request.setParser(new JsonObjectParser(JSON_FACTORY));
|
||||
});
|
||||
GitHubUrl url = new GitHubUrl("https://api.github.com/users");
|
||||
url.per_page = 10;
|
||||
url.page = 1;
|
||||
HttpRequest request = requestFactory.buildGetRequest(url);
|
||||
ExponentialBackOff backoff = new ExponentialBackOff.Builder()
|
||||
.setInitialIntervalMillis(500)
|
||||
.setMaxElapsedTimeMillis(900000)
|
||||
.setMaxIntervalMillis(6000)
|
||||
.setMultiplier(1.5)
|
||||
.setRandomizationFactor(0.5)
|
||||
.build();
|
||||
ExponentialBackOff backoff = new ExponentialBackOff.Builder().setInitialIntervalMillis(500).setMaxElapsedTimeMillis(900000).setMaxIntervalMillis(6000).setMultiplier(1.5).setRandomizationFactor(0.5).build();
|
||||
request.setUnsuccessfulResponseHandler(new HttpBackOffUnsuccessfulResponseHandler(backoff));
|
||||
Type type = new TypeToken<List<User>>() {}.getType();
|
||||
List<User> users = (List<User>)request.execute().parseAs(type);
|
||||
Type type = new TypeToken<List<User>>() {
|
||||
}.getType();
|
||||
List<User> users = (List<User>) request.execute().parseAs(type);
|
||||
System.out.println(users);
|
||||
url.appendRawPath("/eugenp");
|
||||
request = requestFactory.buildGetRequest(url);
|
||||
|
||||
@@ -3,16 +3,16 @@ package com.baeldung.googlehttpclientguide;
|
||||
import com.google.api.client.http.GenericUrl;
|
||||
import com.google.api.client.util.Key;
|
||||
|
||||
public class GitHubUrl extends GenericUrl{
|
||||
public class GitHubUrl extends GenericUrl {
|
||||
|
||||
public GitHubUrl(String encodedUrl) {
|
||||
super(encodedUrl);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Key
|
||||
public int per_page;
|
||||
|
||||
|
||||
@Key
|
||||
public int page;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class User extends GenericJson {
|
||||
private String blog;
|
||||
@Key
|
||||
private String email;
|
||||
|
||||
|
||||
@Key("subscriptions_url")
|
||||
private String subscriptionsUrl;
|
||||
|
||||
@@ -71,7 +71,6 @@ public class User extends GenericJson {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "User{" + "login=" + login + ", id=" + id + ", url=" + url + ", company=" + company + ", blog=" + blog + ", email=" + email + '}';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,15 +14,15 @@ public class DataSource {
|
||||
private static HikariDataSource ds;
|
||||
|
||||
static {
|
||||
// config = new HikariConfig("datasource.properties");
|
||||
|
||||
// Properties props = new Properties();
|
||||
// props.setProperty("dataSourceClassName", "org.h2.Driver");
|
||||
// props.setProperty("dataSource.user", "");
|
||||
// props.setProperty("dataSource.password", "");
|
||||
// props.put("dataSource.logWriter", new PrintWriter(System.out));
|
||||
// config = new HikariConfig(props);
|
||||
|
||||
// config = new HikariConfig("datasource.properties");
|
||||
|
||||
// Properties props = new Properties();
|
||||
// props.setProperty("dataSourceClassName", "org.h2.Driver");
|
||||
// props.setProperty("dataSource.user", "");
|
||||
// props.setProperty("dataSource.password", "");
|
||||
// props.put("dataSource.logWriter", new PrintWriter(System.out));
|
||||
// config = new HikariConfig(props);
|
||||
|
||||
config.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:/db.sql'");
|
||||
config.setUsername("");
|
||||
config.setPassword("");
|
||||
@@ -30,13 +30,14 @@ public class DataSource {
|
||||
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
||||
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
||||
ds = new HikariDataSource(config);
|
||||
|
||||
// ds.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:/db.sql'");
|
||||
// ds.setUsername("");
|
||||
// ds.setPassword("");
|
||||
|
||||
// ds.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:/db.sql'");
|
||||
// ds.setUsername("");
|
||||
// ds.setPassword("");
|
||||
}
|
||||
|
||||
private DataSource() {}
|
||||
private DataSource() {
|
||||
}
|
||||
|
||||
public static Connection getConnection() throws SQLException {
|
||||
return ds.getConnection();
|
||||
|
||||
@@ -12,9 +12,7 @@ public class HikariCPDemo {
|
||||
public static List<Employee> fetchData() {
|
||||
final String SQL_QUERY = "select * from emp";
|
||||
List<Employee> employees = null;
|
||||
try (Connection con = DataSource.getConnection();
|
||||
PreparedStatement pst = con.prepareStatement(SQL_QUERY);
|
||||
ResultSet rs = pst.executeQuery();) {
|
||||
try (Connection con = DataSource.getConnection(); PreparedStatement pst = con.prepareStatement(SQL_QUERY); ResultSet rs = pst.executeQuery();) {
|
||||
employees = new ArrayList<Employee>();
|
||||
Employee employee;
|
||||
while (rs.next()) {
|
||||
@@ -38,5 +36,5 @@ public class HikariCPDemo {
|
||||
public static void main(String[] args) {
|
||||
fetchData();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -43,8 +43,7 @@ public class CacheConfiguration {
|
||||
return this.buildCache(PASSIVATING_HELLO_WORLD_CACHE, cacheManager, listener, passivatingConfiguration());
|
||||
}
|
||||
|
||||
private <K, V> Cache<K, V> buildCache(String cacheName, DefaultCacheManager cacheManager,
|
||||
CacheListener listener, Configuration configuration) {
|
||||
private <K, V> Cache<K, V> buildCache(String cacheName, DefaultCacheManager cacheManager, CacheListener listener, Configuration configuration) {
|
||||
|
||||
cacheManager.defineConfiguration(cacheName, configuration);
|
||||
Cache<K, V> cache = cacheManager.getCache(cacheName);
|
||||
@@ -53,32 +52,19 @@ public class CacheConfiguration {
|
||||
}
|
||||
|
||||
private Configuration expiringConfiguration() {
|
||||
return new ConfigurationBuilder().expiration().lifespan(1, TimeUnit.SECONDS)
|
||||
.build();
|
||||
return new ConfigurationBuilder().expiration().lifespan(1, TimeUnit.SECONDS).build();
|
||||
}
|
||||
|
||||
private Configuration evictingConfiguration() {
|
||||
return new ConfigurationBuilder()
|
||||
.memory().evictionType(EvictionType.COUNT).size(1)
|
||||
.build();
|
||||
return new ConfigurationBuilder().memory().evictionType(EvictionType.COUNT).size(1).build();
|
||||
}
|
||||
|
||||
private Configuration passivatingConfiguration() {
|
||||
return new ConfigurationBuilder()
|
||||
.memory().evictionType(EvictionType.COUNT).size(1)
|
||||
.persistence()
|
||||
.passivation(true)
|
||||
.addSingleFileStore()
|
||||
.purgeOnStartup(true)
|
||||
.location(System.getProperty("java.io.tmpdir"))
|
||||
.build();
|
||||
return new ConfigurationBuilder().memory().evictionType(EvictionType.COUNT).size(1).persistence().passivation(true).addSingleFileStore().purgeOnStartup(true).location(System.getProperty("java.io.tmpdir")).build();
|
||||
}
|
||||
|
||||
private Configuration transactionalConfiguration() {
|
||||
return new ConfigurationBuilder()
|
||||
.transaction().transactionMode(TransactionMode.TRANSACTIONAL)
|
||||
.lockingMode(LockingMode.PESSIMISTIC)
|
||||
.build();
|
||||
return new ConfigurationBuilder().transaction().transactionMode(TransactionMode.TRANSACTIONAL).lockingMode(LockingMode.PESSIMISTIC).build();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,11 +15,8 @@ public class HelloWorldService {
|
||||
private final Cache<String, String> evictingHelloWorldCache;
|
||||
private final Cache<String, String> passivatingHelloWorldCache;
|
||||
|
||||
public HelloWorldService(HelloWorldRepository repository, CacheListener listener,
|
||||
Cache<String, String> simpleHelloWorldCache,
|
||||
Cache<String, String> expiringHelloWorldCache,
|
||||
Cache<String, String> evictingHelloWorldCache,
|
||||
Cache<String, String> passivatingHelloWorldCache) {
|
||||
public HelloWorldService(HelloWorldRepository repository, CacheListener listener, Cache<String, String> simpleHelloWorldCache, Cache<String, String> expiringHelloWorldCache, Cache<String, String> evictingHelloWorldCache,
|
||||
Cache<String, String> passivatingHelloWorldCache) {
|
||||
|
||||
this.repository = repository;
|
||||
|
||||
@@ -66,7 +63,7 @@ public class HelloWorldService {
|
||||
|
||||
public String findEvictingHelloWorld(String key) {
|
||||
String value = evictingHelloWorldCache.get(key);
|
||||
if(value == null) {
|
||||
if (value == null) {
|
||||
value = repository.getHelloWorld();
|
||||
evictingHelloWorldCache.put(key, value);
|
||||
}
|
||||
|
||||
@@ -28,8 +28,7 @@ public class TransactionalService {
|
||||
watch.start();
|
||||
transactionalCache.put(KEY, howManyVisits);
|
||||
watch.stop();
|
||||
System.out.println("I was able to set HowManyVisits to " + howManyVisits +
|
||||
" after waiting " + watch.getTotalTimeSeconds() + " seconds");
|
||||
System.out.println("I was able to set HowManyVisits to " + howManyVisits + " after waiting " + watch.getTotalTimeSeconds() + " seconds");
|
||||
|
||||
tm.commit();
|
||||
return howManyVisits;
|
||||
@@ -44,8 +43,7 @@ public class TransactionalService {
|
||||
TransactionManager tm = transactionalCache.getAdvancedCache().getTransactionManager();
|
||||
tm.begin();
|
||||
transactionalCache.put(KEY, 1000);
|
||||
System.out.println("HowManyVisits should now be 1000, " +
|
||||
"but we are holding the transaction");
|
||||
System.out.println("HowManyVisits should now be 1000, " + "but we are holding the transaction");
|
||||
Thread.sleep(1000L);
|
||||
tm.rollback();
|
||||
System.out.println("The slow batch suffered a rollback");
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.baeldung.javasisst;
|
||||
|
||||
|
||||
public class Point {
|
||||
public int x = 0;
|
||||
public int y = 0;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user