DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets

  • submit to reddit

Recent Snippets

                    // Create an instance of BarCodeReader class and specify the image and symbology
BarCodeReader reader;
reader = new BarCodeReader("c:\\Code39Extended.png", BarCodeReadType.getCode39Extended());
int counter = 0;

// Read all the barcodes from the images
while (reader.read())
{     
     // Display the symbology type
     System.out.println("BarCode Type: " + reader.getReadType());
     // Display the codetext
     System.out.println("BarCode CodeText: " + reader.getCodeText());
     // Get the barcode region
     com.aspose.barcoderecognition.BarCodeRegion region = reader.getRegion();
     if (region != null)
     {         
         // Initialize an object of type BufferedImage to get the Graphics object
         BufferedImage bufferedImage = ImageIO.read(new File("c:\\Code30Extended.png"));
         // Initialize graphics object from the image
         Graphics g = bufferedImage.getGraphics();
         // Initialize paint object
         Paint p = new GradientPaint(0, 0, Color.red, 100, 100, Color.pink, true);
	 // Initialize stroke object	 
         Stroke stroke = new BasicStroke(4.0f);
         region.drawBarCodeEdges((Graphics2D)g, stroke, p);
         // Save the image
         ImageIO.write(bufferedImage, "png",new File("C:\\ab\\Image001.png"));
     }
}
reader.close();
                
                    1. Simple Logic

int fibonaci(int n){

    int i,next,a=0,b=1;
    for(i=0;i<n;++i){
    
        if(i<=1){
            next = i;
        }else{
            
            next = a + b;
            a = b;
            b= next;
        }
        
        printf("%d ",next);
    }
}

2. Mathematical Formula

int fibonaci(int n){
    
    int i;float tmp;
    
    //x^2 - x - 1 =0
    float x1 = ( 1 + sqrt(5) ) / 2;
    float x2 = (1 - sqrt(5) ) / 2;  
    
    for(i=0;i<n;i++){
               
        tmp = (pow(x1,i) - pow(x2,i)) / sqrt(5);
        printf("%d ",(int)floor(tmp)); //rounding down         
    }
    
    printf("\n");
}                
                    //Creating and Sending a Message with Voting Options

//The following code sample shows how to create a new message and then send it with voting options.

//[C#]

string address = "firstname.lastname@aspose.com";

using (IEWSClient client = EWSClient.GetEWSClient("https://exchange.aspose.com/ews/Exchange.asmx", "username", "password", "aspose.com"))
{
    MailMessage message = CreateTestMessage(address);

    FollowUpOptions options = new FollowUpOptions();
    options.VotingButtons = "Yes;No;Maybe;Exactly!";

    client.Send(message, options);
}
 
//[VB.NET]

Dim address As String = "firstname.lastname@aspose.com"

Using client As IEWSClient = EWSClient.GetEWSClient("https://exchange.aspose.com/ews/Exchange.asmx", "username", "password", "aspose.com")
	Dim message As MailMessage = CreateTestMessage(address)

	Dim options As New FollowUpOptions()
	options.VotingButtons = "Yes;No;Maybe;Exactly!"

	client.Send(message, options)
End Using

//Sample Methods Used in Examples

//[C#]

private static MailMessage CreateTestMessage(string address)
{
    MailMessage eml = new MailMessage(
        address,
        address,
        "Flagged message",
        "Make it nice and short, but descriptive. The description may appear in search engines' search results pages...");

    return eml;
}
 
//[VB.NET]

private static MailMessage CreateTestMessage(string address)
{
    MailMessage eml = new MailMessage(
        address,
        address,
        "Flagged message",
        "Make it nice and short, but descriptive. The description may appear in search engines' search results pages...");

    return eml;
}                
                    //Instantiate a new workbook with Excel file path
String sdCardPath = Environment.getExternalStorageDirectory().getPath()+ File.separator;
Workbook workbook = new Workbook(sdCardPath + "Book1.xls");
//Save the document in PDF format
workbook.save(sdCardPath + "MyPdfFile.pdf", FileFormatType.PDF);

//PDF/A Conversion

Aspose.Cells for Java also provides support for PDF/A compliance.
//Open an existing Excel file
String sdCardPath = Environment.getExternalStorageDirectory().getPath()+ File.separator;
Workbook workbook = new Workbook(sdCardPath + "Book1.xls");
//Define PdfSaveOptions
PdfSaveOptions saveOptions = new PdfSaveOptions();
//Set the compliance type
saveOptiions.setCompliance(PdfCompliance.PDF_A_1_B);
//Save the PDF file
workbook.save(sdCardPath + "out.pdf", saveOptions);

//Set Creation Time for Output PDF

//When using the PdfSaveOptions class, you can get or set the PDF creation time.

File sdDir = Environment.getExternalStorageDirectory();
String sdPath = sdDir.getCanonicalPath();
//Load an exiting workbook or create from scratch
Workbook book = new Workbook(sdPath + "/book2.xlsx");
//Create an instance of PdfSaveOptions and pass SaveFormat to the construnctor
PdfSaveOptions options = new PdfSaveOptions(SaveFormat.PDF);
//Set the CreatedTime for the PdfSaveOptions as per requirement
options.setCreatedTime(DateTime.getNow());
//Save the workbook to PDF format while passing the object of PdfSaveOptions
book.save(sdPath + "/output.pdf", SaveFormat.PDF);
                
                    //Programming Sample for reading embedded email attachments from an existing email message

public static void ReadEmbeddedAttachments()
{
    // Base folder to load and save files used in this demo
    private static String strBaseFolder = Environment.getExternalStorageDirectory().getPath();
    strBaseFolder = strBaseFolder + "/";

    try
    {
        System.out.print("Reading message with embedded messages....");

        MailMessage message = MailMessage.load(strBaseFolder + "/embedded.msg", MessageFormat.getMsg());
        ParseMessage(message);

        System.out.println("Success");
    }
    catch (Exception ex)
    {
        System.out.println(ex.getMessage());
    }
}

private static void ParseMessage(MailMessage message)
{
    System.out.println("Subject: " + message.getSubject());
    System.out.println("Extracting attachments....");
    for (int i = 0; i < message.getAttachments().size(); i++)
    {
        Attachment att = (Attachment) message.getAttachments().get(i);
        System.out.println("Attachment Name: " + att.getName());

        // Get the name of attachment. If msg subject contains characters like :, /, \ etc., replace with space
        // because windows cannot save files with these characters
        // also save first 50 characters as file name to avoid long file names
        String attFileName = att.getName().replace(".eml", "").replace(":", " ").replace("\\", " ").replace("/", " ").replace("?", "");
        if (attFileName.length() > 50)
        {
            attFileName = attFileName.substring(0, 50);
        }
        String attExt = (att.getName().substring(att.getName().lastIndexOf("."), att.getName().lastIndexOf(".") + 4));

        // Save the attachment to disk
        att.save(strBaseFolder + attFileName + attExt);

        // Check if it is an orphaned text attachment file (ATT00001.txt....) and of type eml
        if ((attExt.equals(".eml")) || (att.getContentType().getMediaType().equals("text/plain") && att.getName().contains(".txt") == true && att.getName().contains("ATT") == true))
        {
            // Try to load this text file in MailMessage
            MailMessage attMsg = MailMessage.load(strBaseFolder + "/" + attFileName + attExt, MessageFormat.getEml());
            // Call the function recursively to parse this message and attachments
            ParseMessage(attMsg);
        }
    }
}
                
                    //The sample code below creates RE (Reply/Reply All) and FW (Forward) messages from a source message.

//[C# Code Sample]

public static IEWSClient GetEWSClient()
{
    const string mailboxUri = "https://exchange.domain.com/ews/Exchange.asmx";
    const string domain = @"";
    const string username = @"username";
    const string password = @"password";
    NetworkCredential credential = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credential);
    return client;
}
public static void TestMailReFw()
{
    using (IEWSClient client = GetAsposeEWSClient2())
    {
        try
        {

            MailMessage message = new MailMessage(
                "user@domain.com",
                "user@domain.com",
                "TestMailRefw - " + Guid.NewGuid().ToString(),
                "TestMailRefw Implement ability to create RE and FW messages from source MSG file");

            client.Send(message);
            // Wait for a while

            ExchangeMessageInfoCollection messageInfoCol = client.ListMessages(client.MailboxInfo.InboxUri);
            if(messageInfoCol.Count == 1)
                Console.WriteLine("1 message in Inbox");
            else
                Console.WriteLine("Error! No message in Inbox");

            MailMessage message1 = new MailMessage(
                "user@domain.com",
                "user@domain.com",
                "TestMailRefw - " + Guid.NewGuid().ToString(),
                "TestMailRefw Implement ability to create RE and FW messages from source MSG file");

            client.Send(message1);
            // Wait for a while
            messageInfoCol = client.ListMessages(client.MailboxInfo.InboxUri);

            if(messageInfoCol.Count == 2)
                Console.WriteLine("2 messages in Inbox");
            else
                Console.WriteLine("Error! No new message in Inbox");


            MailMessage message2 = new MailMessage(
                "user@domain.com",
                "user@domain.com",
                "TestMailRefw - " + Guid.NewGuid().ToString(),
                "TestMailRefw Implement ability to create RE and FW messages from source MSG file");
            message2.Attachments.Add(Attachment.CreateAttachmentFromString("Test attachment 1", "Attachment Name 1"));
            message2.Attachments.Add(Attachment.CreateAttachmentFromString("Test attachment 2", "Attachment Name 2"));

            client.Reply(message2, messageInfoCol[0]);
            client.ReplyAll(message2, messageInfoCol[0]);
            client.Forward(message2, messageInfoCol[0]);
        }
        catch(Exception ex)
        {
            Console.WriteLine("Error in program");
        }
    }
}

//[VB.NET Code Sample]

Public Shared Function GetEWSClient() As IEWSClient
	Const  mailboxUri As String = "https://exchange.domain.com/ews/Exchange.asmx"
	Const  domain As String = ""
	Const  username As String = "username"
	Const  password As String = "password"
	Dim credential As New NetworkCredential(username, password, domain)
	Dim client As IEWSClient = EWSClient.GetEWSClient(mailboxUri, credential)
	Return client
End Function
Public Shared Sub TestMailReFw()
	Using client As IEWSClient = GetAsposeEWSClient2()
		Try

			Dim message As New MailMessage("user@domain.com", "user@domain.com", "TestMailRefw - " & Guid.NewGuid().ToString(), "TestMailRefw Implement ability to create RE and FW messages from source MSG file")

			client.Send(message)
			' Wait for a while

			Dim messageInfoCol As ExchangeMessageInfoCollection = client.ListMessages(client.MailboxInfo.InboxUri)
			If messageInfoCol.Count = 1 Then
				Console.WriteLine("1 message in Inbox")
			Else
				Console.WriteLine("Error! No message in Inbox")
			End If

			Dim message1 As New MailMessage("user@domain.com", "user@domain.com", "TestMailRefw - " & Guid.NewGuid().ToString(), "TestMailRefw Implement ability to create RE and FW messages from source MSG file")

			client.Send(message1)
			' Wait for a while
			messageInfoCol = client.ListMessages(client.MailboxInfo.InboxUri)

			If messageInfoCol.Count = 2 Then
				Console.WriteLine("2 messages in Inbox")
			Else
				Console.WriteLine("Error! No new message in Inbox")
			End If


			Dim message2 As New MailMessage("user@domain.com", "user@domain.com", "TestMailRefw - " & Guid.NewGuid().ToString(), "TestMailRefw Implement ability to create RE and FW messages from source MSG file")
			message2.Attachments.Add(Attachment.CreateAttachmentFromString("Test attachment 1", "Attachment Name 1"))
			message2.Attachments.Add(Attachment.CreateAttachmentFromString("Test attachment 2", "Attachment Name 2"))

			client.Reply(message2, messageInfoCol(0))
			client.ReplyAll(message2, messageInfoCol(0))
			client.Forward(message2, messageInfoCol(0))
		Catch ex As Exception
			Console.WriteLine("Error in program")
		End Try
	End Using
End Sub
                
                    $ git show $COMMIT

# OR

$ git diff HEAD^ HEAD                
                    //Create a Draft Appointment Request
 
String sender = "test@gmail.com";
String recipient = "test@email.com";

MailMessage message = new MailMessage(sender, recipient, "", "");

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.set(2012, Calendar.NOVEMBER, 1, 0, 0, 0);
Date startDate = calendar.getTime();
calendar.set(2012, Calendar.DECEMBER, 1);
Date endDate = calendar.getTime();

MailAddressCollection attendees = new MailAddressCollection();
attendees.add(new MailAddress("attendee_address@aspose.com", "Attendee"));
WeeklyRecurrencePattern expected = new WeeklyRecurrencePattern(3);

Appointment app = new Appointment("Appointment Location", "Appointment Summary", "Appointment Description",
        startDate, endDate,
        new MailAddress("organizer_address@aspose.com", "Organizer"), attendees, expected);

//Set the Appointment as Draft
app.setMethod(AppointmentMethodType.Publish);//.Method = AppointmentMethodType.Publish;
message.addAlternateView(app.requestApointment());
MapiMessage msg = MapiMessage.fromMailMessage(message);

// Save the appointment as draft.
msg.save("Draft.msg");

//Draft Appointment Creation from Text
 
String ical = "BEGIN:VCALENDAR\r\nMETHOD:PUBLISH\r\nPRODID:-//Aspose Ltd//iCalender Builder (v3.0)//EN\r\nVERSION:2.0\r\nBEGIN:VEVENT\r\nATTENDEE;CN=test@gmail.com:mailto:test@gmail.com\r\nDTSTART:20130220T171439\r\nDTEND:20130220T174439\r\nDTSTAMP:20130220T161439Z\r\nEND:VEVENT\r\nEND:VCALENDAR";

String sender = "test@gmail.com";
String recipient = "test@email.com";

MailMessage message = new MailMessage(sender, recipient, "", "");

AlternateView av = AlternateView.createAlternateViewFromString(ical, new ContentType("text/calendar"));

message.getAlternateViews().add(av);

MapiMessage msg = MapiMessage.fromMailMessage(message);

// Save the appointment as draft.
msg.save("DraftAppointment.msg");

                
                    //Example-1
public class SwitcherDemo
{
	public static void main(String args[])
	{
		Switcher generic = new Switcher()
				.addCase(1, "Integer")
				.addCase(1.1, "Double")
				.addCase(1.1f,"Float")
				.addCase("S","String")
				.setDefault("Others");
		System.out.println("Switch type "+generic.exec(1.1f));
		System.out.println("Switch type "+generic.exec("S"));
		System.out.println("Switch type "+generic.exec(1));
		System.out.println("Switch type "+generic.exec(1.1));
		System.out.println("Switch type "+generic.exec("SS"));
	}
}

//Example-2
import ch.lambdaj.function.closure.Switcher;

import java.util.Arrays;
import java.util.List;

public class SwitcherDemo {



	public static void main(String args[])
	{
		Employee fulltime = new Employee(JOB_TYPE.FULL_TIME);
		Employee partime = new Employee(JOB_TYPE.PART_TIME);
		Employee contract = new Employee(JOB_TYPE.CONTRACT);
		Employee intern = new Employee(JOB_TYPE.INTERN);
		List<Employee>  employeeList = Arrays.asList(fulltime,partime,contract,intern);

		Switcher<Salary> salarySwitcher = new Switcher<Salary>();
		salarySwitcher.addCase(JOB_TYPE.FULL_TIME, new Salary(100000));
		salarySwitcher.addCase(JOB_TYPE.PART_TIME, new Salary(50000));
		salarySwitcher.addCase(JOB_TYPE.CONTRACT, new Salary(120000));
		salarySwitcher.addCase(JOB_TYPE.INTERN, new Salary(45000));
		salarySwitcher.setDefault(new Salary(0));

		for(Employee e: employeeList)
		{
                     Salary sal = salarySwitcher.exec(e.getJobtype());
			e.setSalary(sal);
			System.out.println("Salary "+e.getSalary().getSalary()+" Offered Job type "+e.getJobtype());
		}

	}
}
enum JOB_TYPE
{
	FULL_TIME,CONTRACT,INTERN,PART_TIME
}

class Employee
{

	private final JOB_TYPE jobtype;
	private Salary salary;

	Employee(JOB_TYPE job_type)
	{
		this.jobtype=job_type;
	}
	public JOB_TYPE getJobtype()
	{
		return jobtype;
	}

	Salary getSalary()
	{
		return salary;
	}

	void setSalary(Salary salary)
	{
		this.salary = salary;
	}
}
class Salary
{
	private final double sal;

	public Salary(double sal)
	{
		this.sal=sal;
	}
	public double getSalary()
	{
		return sal;
	}
}                
                    #!/usr/bin/env ruby
# Author : Emad Elsaid (https://github.com/blazeeboy)

# monkey batch, yup that a bad practice,
# but lets say that this is a proof of concept
# 
# we'll open the object class and handle the 
# method missing situation, we'll claculate
# distance between the requested method and 
# all methods available in object, then the nearest
# method if distance doesn't exceed certain number
# then execute it.
class Object
  def method_missing(meth, *args, &block)
    threshold = 3
    all_meth = methods.sort
    all_meth.sort_by! do |m| 
      string_distance m, meth
    end
    if string_distance(all_meth.first, meth) <= 3
      send all_meth.first, *args, &block
    else
      super
    end
  end

  # we'll calculate distance between 2 string by
  # getting number of characters in 1 and not in 2
  # and number chars in 2 not in 1, sum the two
  # differences and return that weight
  # less weight is more similar method
  def string_distance(str1, str2)
    one_way = str1.to_s.chars - str2.to_s.chars 
    the_other_way = str2.to_s.chars - str1.to_s.chars 
    one_way.size + the_other_way.size
  end
end

# ## UseCase ?
# you can use `nil` instead of `nil?`
p "26512135".nil
# you can use `toi` and `tof` instead of `to_i` and `to_f`
p "12123".tof

# this way ruby will be more forgiving if you wrote
# method name with wrong character or less character or more 
# with 1 character, when you increate the `threshold` it'll
# be more forgiving :D, 
# 
# happy coding.