Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java')
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java121
1 files changed, 0 insertions, 121 deletions
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
deleted file mode 100644
index 556c213970..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * 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:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-
-public class JPACheckSum {
-
- private static JPACheckSum instance = null;
- private static MessageDigest md5 = null;
-
- public static synchronized JPACheckSum INSTANCE() {
- if (instance == null) {
- try {
- md5 = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
- } catch (NoSuchAlgorithmException e) {
- System.err.println("Couldn't create instance of MD5"); //$NON-NLS-1$
- e.printStackTrace();
- return null;
- }
- instance = new JPACheckSum();
- }
- return instance;
- }
-
- public String getSavedShapeMD5(Shape sh) {
- String checkSumString = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CHECKSUM);
- if (checkSumString == null)
- return ""; //$NON-NLS-1$
- return checkSumString;
- }
-
- public void assignEntityShapesMD5Strings(Diagram d, JpaProject jpaProject) {
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- List<Shape> picts = d.getChildren();
- if (picts.size() == 0)
- return;
- Iterator<Shape> it = picts.iterator();
- while (it.hasNext()) {
- Shape pict = it.next();
- String name = Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
- String hash = ""; //$NON-NLS-1$
- if (jpt != null) {
- ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
- hash = generateCompilationUnitMD5String(cu);
- }
- Graphiti.getPeService().setPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CHECKSUM, hash);
- }
- }
-
-
- public String generateCompilationUnitMD5String(ICompilationUnit cu) {
- String src = null;
- try {
- src = cu.getSource();
- } catch (JavaModelException e) {
- System.err.println("Can't get the source of the compilation unit"); //$NON-NLS-1$
- e.printStackTrace();
- return null;
- }
- byte[] res = md5.digest(src.getBytes());
- StringBuilder sb = new StringBuilder();
- for (byte b : res)
- sb.append(Byte.toString(b));
- return sb.toString();
- }
-
- public boolean isEntityModelChanged(Shape sh, JpaProject jpaProject) {
- if (sh == null)
- return true;
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- String name = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
- String savedMD5 = getSavedShapeMD5(sh);
- String actualMD5 = ""; //$NON-NLS-1$
- if (jpt != null) {
- ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
- actualMD5 = generateCompilationUnitMD5String(cu);
- }
- return !savedMD5.equals(actualMD5);
- }
-
- public boolean isModelDifferentFromDiagram(Diagram d, JpaProject jpaProject) {
- List<Shape> picts = d.getChildren();
- if (picts.size() == 0)
- return false;
- Iterator<Shape> it = picts.iterator();
- while (it.hasNext()) {
- Shape pict = it.next();
- if (isEntityModelChanged(pict, jpaProject))
- return true;
- }
- return false;
- }
-}

Back to the top