/******************************************************************************* * Copyright (c) 2010-2014 SAP AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * SAP AG - initial API and implementation *******************************************************************************/ package org.eclipse.skalli.core.user; import java.util.UUID; import org.apache.commons.lang.StringUtils; import org.eclipse.skalli.model.User; import org.eclipse.skalli.services.extension.DataMigrationBase; import org.eclipse.skalli.services.extension.MigrationException; import org.eclipse.skalli.services.extension.MigrationUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; public class LocalUserDataMigration19 extends DataMigrationBase { public LocalUserDataMigration19() { super(User.class, 19); } /** * Changes from model version 0->1: * <ol> * <li>renamed root element org.eclipse.skalli.common.User to "user"</li> * </ol> */ @SuppressWarnings("nls") @Override public void migrate(Document doc) throws MigrationException { MigrationUtils.renameTag(doc, doc.getDocumentElement(), "entity-user"); Element elem = MigrationUtils.getElementOfEntity(doc, "uuid"); if (elem == null) { elem = doc.createElement("uuid"); elem.setTextContent(UUID.randomUUID().toString()); doc.getDocumentElement().insertBefore(elem, doc.getDocumentElement().getFirstChild()); } } // before the "grand" refactoring, User was in package org.eclipse.skalli.common! @SuppressWarnings("nls") @Override public boolean handlesType(String entityClassName) { return super.handlesType(entityClassName) || StringUtils.equals(entityClassName, "org.eclipse.skalli.common.User"); } }