Example usage for org.apache.commons.lang SerializationUtils clone

List of usage examples for org.apache.commons.lang SerializationUtils clone

Introduction

In this page you can find the example usage for org.apache.commons.lang SerializationUtils clone.

Prototype

public static Object clone(Serializable object) 

Source Link

Document

Deep clone an Object using serialization.

This is many times slower than writing clone methods by hand on all objects in your object graph.

Usage

From source file:hr.fer.zemris.vhdllab.service.hierarchy.HierarchyTest.java

@Test
public void afterSerialization() {
    Hierarchy clone = (Hierarchy) SerializationUtils.clone(hierarchy);
    assertNotNull(clone.getTopLevelNodes());
    assertNotNull(clone.getBottomLevelNodes());

    Set<HierarchyNode> topLevel = new HashSet<HierarchyNode>(1);
    topLevel.add(root);/*from ww w .  java 2 s .c o  m*/
    assertEquals(topLevel, clone.getTopLevelNodes());

    Set<HierarchyNode> bottomLevel = new HashSet<HierarchyNode>(2);
    bottomLevel.add(rightDep);
    bottomLevel.add(left);
    assertEquals(bottomLevel, clone.getBottomLevelNodes());
}

From source file:hudson.plugins.timestamper.annotator.ConsoleLogParserImplTest.java

private ConsoleLogParserImpl.Result seek(long pos) throws Exception {
    ConsoleLogParserImpl parser = new ConsoleLogParserImpl(pos);
    if (serialize) {
        parser = (ConsoleLogParserImpl) SerializationUtils.clone(parser);
    }//from www . jav  a2s  . c  o m
    return parser.seek(build);
}

From source file:com.gemstone.gemfire.security.GemFireSecurityExceptionTest.java

public Object clone(final Serializable object) {
    return SerializationUtils.clone(object);
}

From source file:com.autentia.tnt.businessobject.Position.java

public void initChanges() {
    // recorremos las relaciones mltiples para que se copien en el clon
    // los objetos y no los proxies de HB
    // accedemos a una propiedad de cada para segurarnos que se carga el obj
    if (this.getProvince() != null) {
        this.getProvince().getId();
        this.getProvince().getName();
    }// w  w  w.j ava 2  s. c  o m
    for (Tag tag : this.getTags()) {
        tag.getId();
    }
    this.changes = (Position) SerializationUtils.clone(this);
}

From source file:hr.fer.zemris.vhdllab.service.hierarchy.HierarchyTest.java

@Test
public void getTopLevelNodes() {
    Hierarchy clone = (Hierarchy) SerializationUtils.clone(hierarchy);
    Set<HierarchyNode> topLevelNodes = clone.getTopLevelNodes();
    topLevelNodes.add(new HierarchyNode(new File(), null));
    assertEquals(topLevelNodes.size(), clone.getTopLevelNodes().size());
}

From source file:com.floreantpos.model.KitchenTicket.java

public static List<KitchenTicket> fromTicket(Ticket ticket) {
    Map<Printer, KitchenTicket> itemMap = new HashMap<Printer, KitchenTicket>();
    List<KitchenTicket> kitchenTickets = new ArrayList<KitchenTicket>(4);

    Ticket clonedTicket = (Ticket) SerializationUtils.clone(ticket);
    clonedTicket.setGlobalId(GlobalIdGenerator.generate());
    clonedTicket.consolidateTicketItems();
    List<TicketItem> ticketItems = clonedTicket.getTicketItems();
    if (ticketItems == null) {
        return kitchenTickets;
    }/*ww w  .ja v  a 2 s  .  co m*/

    if (ticket.getOrderType().isAllowSeatBasedOrder()) {
        Collections.sort(ticketItems, new Comparator<TicketItem>() {

            @Override
            public int compare(TicketItem o1, TicketItem o2) {
                return o1.getId() - o2.getId();
            }
        });
        Collections.sort(ticketItems, new Comparator<TicketItem>() {

            @Override
            public int compare(TicketItem o1, TicketItem o2) {
                return o1.getSeatNumber() - o2.getSeatNumber();
            }

        });
    }

    for (TicketItem ticketItem : ticketItems) {
        if (ticketItem.isPrintedToKitchen() || !ticketItem.isShouldPrintToKitchen()) {
            continue;
        }

        List<Printer> printers = ticketItem.getPrinters(ticket.getOrderType());
        if (printers == null) {
            continue;
        }

        for (Printer printer : printers) {
            KitchenTicket kitchenTicket = itemMap.get(printer);
            if (kitchenTicket == null) {
                kitchenTicket = new KitchenTicket();
                kitchenTicket.setPrinterGroup(ticketItem.getPrinterGroup());
                kitchenTicket.setTicketId(ticket.getId());
                kitchenTicket.setCreateDate(new Date());
                kitchenTicket.setTicketType(ticket.getTicketType());

                if (ticket.getTableNumbers() != null) {
                    kitchenTicket.setTableNumbers(new ArrayList<Integer>(ticket.getTableNumbers()));
                }

                kitchenTicket.setServerName(ticket.getOwner().getFirstName());
                kitchenTicket.setStatus(KitchenTicketStatus.WAITING.name());

                if (StringUtils.isNotEmpty(ticket.getProperty(Ticket.CUSTOMER_NAME))) {
                    kitchenTicket.setCustomerName(ticket.getProperty(Ticket.CUSTOMER_NAME));
                }

                KitchenTicketDAO.getInstance().saveOrUpdate(kitchenTicket);

                kitchenTicket.setPrinter(printer);

                itemMap.put(printer, kitchenTicket);
            }

            KitchenTicketItem item = new KitchenTicketItem();
            item.setTicketItemId(ticketItem.getId());
            item.setMenuItemCode(ticketItem.getItemCode());
            item.setMenuItemName(ticketItem.getNameDisplay());
            if (ticketItem.getMenuItem() == null) {
                item.setMenuItemGroupName("MISC."); //$NON-NLS-1$
                item.setMenuItemGroupId(1001);
                item.setSortOrder(10001);
            } else {
                item.setMenuItemGroupName(ticketItem.getGroupName());
                item.setMenuItemGroupId(ticketItem.getMenuItem().getParent().getId());
                item.setSortOrder(ticketItem.getMenuItem().getParent().getSortOrder());
            }

            item.setFractionalUnit(ticketItem.isFractionalUnit());
            item.setUnitName(ticketItem.getItemUnitName());

            if (ticketItem.isFractionalUnit()) {
                item.setFractionalQuantity(ticketItem.getItemQuantity());
            } else {
                item.setQuantity(ticketItem.getItemCount());
            }
            item.setStatus(KitchenTicketStatus.WAITING.name());

            kitchenTicket.addToticketItems(item);

            ticketItem.setPrintedToKitchen(true);

            includeModifiers(ticketItem, kitchenTicket);
            includeCookintInstructions(ticketItem, kitchenTicket);

        }

    }

    Collection<KitchenTicket> values = itemMap.values();

    for (KitchenTicket kitchenTicket : values) {
        kitchenTickets.add(kitchenTicket);
        String kitchenTicketNumber = ticket.getProperty("KITCHEN_TICKET_NUMBER"); //$NON-NLS-1$
        if (kitchenTicketNumber == null) {
            kitchenTicketNumber = "1"; //$NON-NLS-1$
        } else {
            kitchenTicketNumber = String.valueOf(Integer.valueOf(kitchenTicketNumber) + 1);
        }
        ticket.addProperty("KITCHEN_TICKET_NUMBER", kitchenTicketNumber); //$NON-NLS-1$
        kitchenTicket.setSequenceNumber(Integer.valueOf(kitchenTicketNumber));
    }
    ticket.markPrintedToKitchen();
    return kitchenTickets;
}

From source file:hr.fer.zemris.vhdllab.service.workspace.ProjectMetadataTest.java

@Test
public void afterSerialization() {
    metadata = (ProjectMetadata) SerializationUtils.clone(metadata);
    for (File f : metadata.getFiles()) {
        assertEquals(hierarchy.getProject(), f.getProject());
    }/*  w  ww.  ja v a 2s .  com*/
    File file = (File) CollectionUtils.get(files, 0);
    assertTrue(
            "change in hashCode of a file (added project reference) isn't reflected to the set containing it.",
            metadata.getFiles().contains(file));
}

From source file:hudson.plugins.timestamper.TimestampFormatterTest.java

private MarkupText markup(MarkupText markupText) {
    HttpServletRequest request = mock(HttpServletRequest.class);
    Cookie[] cookies = null;/*w ww.  ja  v  a 2  s  .c om*/
    if (cookieValues != null) {
        cookies = new Cookie[cookieValues.size()];
        for (int i = 0; i < cookieValues.size(); i++) {
            cookies[i] = new Cookie("jenkins-timestamper", cookieValues.get(i));
        }
    }
    when(request.getCookies()).thenReturn(cookies);
    TimestampFormatter formatter = new TimestampFormatter("HH:mm:ss ", "ss.S ", request);
    if (serialize) {
        formatter = (TimestampFormatter) SerializationUtils.clone(formatter);
    }
    formatter.markup(markupText, new Timestamp(123, 42000));
    return markupText;
}

From source file:hr.fer.zemris.vhdllab.service.hierarchy.HierarchyTest.java

@Test
public void getBottomLevelNodes() {
    Hierarchy clone = (Hierarchy) SerializationUtils.clone(hierarchy);
    Set<HierarchyNode> bottomLevelNodes = clone.getBottomLevelNodes();
    bottomLevelNodes.add(new HierarchyNode(new File(), null));
    assertEquals(bottomLevelNodes.size(), clone.getBottomLevelNodes().size());
}

From source file:hudson.plugins.timestamper.format.TimestampFormatterImplTest.java

private MarkupText markup(MarkupText markupText, Optional<String> timeZoneId) {
    TimestampFormatter formatter = new TimestampFormatterImpl("HH:mm:ss ", "ss.S ", timeZoneId, request);
    if (serialize) {
        formatter = (TimestampFormatter) SerializationUtils.clone(formatter);
    }/*from  ww w .jav a2  s . co m*/
    formatter.markup(markupText, new Timestamp(123, 42000));
    return markupText;
}