Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » No EObjectDescription could be found in Scope Web.sitePermission for
No EObjectDescription could be found in Scope Web.sitePermission for [message #1077832] Fri, 02 August 2013 07:50 Go to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi all ,

I try a lot of solution but I still not solved No EObjectDescription could be found in Scope.Please help me .I do not understand my error and How can I solved this problem Sad
My code is below and I sahe all my code :
my util class and its called class

package com.mdd4cca.msf.content.content.util;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.eclipse.core.resources.IFile;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PlatformUI;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.mdd4cca.msf.content.content.Web;
import com.mdd4cca.msf.user.UserRuntimeModule;
import com.mdd4cca.msf.user.UserStandaloneSetup;
import com.mdd4cca.msf.user.user.BasePermission;
import com.mdd4cca.msf.user.user.Group;
import com.mdd4cca.msf.user.user.RoleAssignment;
import com.mdd4cca.msf.user.user.RoleDefinition;
import com.mdd4cca.msf.user.user.SitePermission;
import com.mdd4cca.msf.user.user.UserFactory;
import com.mdd4cca.msf.user.user.UserModel;
import com.mdd4cca.msf.user.user.UserPackage;
import com.mdd4cca.msf.user.user.util.UserConstant;

public class SitePermissionUtil {

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID) {
		// Initialize the model
		UserPackage.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		UserFactory factory = UserFactory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = UserFactory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		// Members Group
		Group memberGroup = UserFactory.eINSTANCE.createGroup();
		memberGroup.setName("Members");
		sitePermission.getOwnedGroup().add(memberGroup);
		// Visitors Group
		Group visitorsGroup = UserFactory.eINSTANCE.createGroup();
		visitorsGroup.setName("Visitors");
		sitePermission.getOwnedGroup().add(visitorsGroup);
		// Viewers Group
		Group viewersGroup = UserFactory.eINSTANCE.createGroup();
		viewersGroup.setName("Viewers");
		sitePermission.getOwnedGroup().add(viewersGroup);
		// viewersRoleDefinitions
		RoleDefinition viewerRole = UserFactory.eINSTANCE.createRoleDefinition();
		viewerRole.setName("viewerRoleDefinition");
		viewerRole.getBasePermissions().add(BasePermission.VIEW_LIST_ITEMS);
		viewerRole.getBasePermissions().add(BasePermission.VIEW_VERSIONS);
		viewerRole.getBasePermissions().add(BasePermission.CREATE_ALERTS);
		viewerRole.getBasePermissions().add(BasePermission.VIEW_FORM_PAGES);
		viewerRole.getBasePermissions().add(BasePermission.BROWSE_USER_INFO);
		viewerRole.getBasePermissions().add(BasePermission.USE_REMOTE_AP_IS);
		viewerRole.getBasePermissions().add(
				BasePermission.USE_CLIENT_INTEGRATION);
		viewerRole.getBasePermissions().add(BasePermission.OPEN);
		sitePermission.getOwnedRoleDefinition().add(viewerRole);
		// ownerRoleDefinitions
		RoleDefinition ownerRole = UserFactory.eINSTANCE.createRoleDefinition();
		ownerRole.setName("ownerRoleDefinition");
		List<BasePermission> permissions = BasePermission.VALUES;
		for (Iterator<BasePermission> iterator = permissions.iterator(); iterator
				.hasNext();) {
			BasePermission basePermission = (BasePermission) iterator.next();
			ownerRole.getBasePermissions().add(basePermission);
		}
		sitePermission.getOwnedRoleDefinition().add(ownerRole);
		// memberRoleDefinition
		RoleDefinition memberRole = UserFactory.eINSTANCE.createRoleDefinition();
		memberRole.setName("memberRoleDefinition");
		memberRole.getBasePermissions().add(BasePermission.ADD_LIST_ITEMS);
		memberRole.getBasePermissions().add(BasePermission.EDIT_LIST_ITEMS);
		memberRole.getBasePermissions().add(BasePermission.DELETE_LIST_ITEMS);
		memberRole.getBasePermissions().add(BasePermission.VIEW_LIST_ITEMS);
		memberRole.getBasePermissions().add(BasePermission.OPEN_ITEMS);
		memberRole.getBasePermissions().add(BasePermission.VIEW_VERSIONS);
		memberRole.getBasePermissions().add(BasePermission.CREATE_ALERTS);
		memberRole.getBasePermissions().add(BasePermission.BROWSE_DIRECTORIES);
		memberRole.getBasePermissions().add(BasePermission.VIEW_FORM_PAGES);
		memberRole.getBasePermissions().add(BasePermission.BROWSE_USER_INFO);
		memberRole.getBasePermissions().add(BasePermission.USE_REMOTE_AP_IS);
		memberRole.getBasePermissions().add(
				BasePermission.USE_CLIENT_INTEGRATION);
		memberRole.getBasePermissions().add(BasePermission.OPEN);
		memberRole.getBasePermissions().add(BasePermission.EDIT_MY_USER_INFO);
		memberRole.getBasePermissions().add(
				BasePermission.MANAGE_PERSONAL_VIEWS);
		memberRole.getBasePermissions().add(
				BasePermission.ADD_DEL_PRIVATE_WEB_PARTS);
		memberRole.getBasePermissions().add(
				BasePermission.UPDATE_PERSONAL_WEB_PARTS);
		sitePermission.getOwnedRoleDefinition().add(memberRole);
		// visitor Role Definition.
		RoleDefinition VisitorsRole = UserFactory.eINSTANCE.createRoleDefinition();
		VisitorsRole.setName("visitorsRoleDefinition");
		VisitorsRole.getBasePermissions().add(BasePermission.VIEW_LIST_ITEMS);
		VisitorsRole.getBasePermissions().add(BasePermission.OPEN_ITEMS);
		VisitorsRole.getBasePermissions().add(BasePermission.VIEW_VERSIONS);
		VisitorsRole.getBasePermissions().add(BasePermission.CREATE_ALERTS);
		VisitorsRole.getBasePermissions().add(BasePermission.VIEW_FORM_PAGES);
		VisitorsRole.getBasePermissions().add(BasePermission.VIEW_LIST_ITEMS);
		VisitorsRole.getBasePermissions().add(BasePermission.BROWSE_USER_INFO);
		VisitorsRole.getBasePermissions().add(BasePermission.USE_REMOTE_AP_IS);
		VisitorsRole.getBasePermissions().add(
				BasePermission.USE_CLIENT_INTEGRATION);
		VisitorsRole.getBasePermissions().add(BasePermission.OPEN);
		sitePermission.getOwnedRoleDefinition().add(VisitorsRole);
		// Full Control Assignment
		RoleAssignment ownerRoleAssignment = UserFactory.eINSTANCE
				.createRoleAssignment();
		ownerRoleAssignment.setName("FullControl");
		ownerRoleAssignment.setMember(ownerGroup);
		ownerRoleAssignment.getRoleDefinitionBindings().add(ownerRole);
		sitePermission.getOwnedRoleAssignments().add(ownerRoleAssignment);
		// Contribute Assignment
		RoleAssignment memeberRoleAssignment = UserFactory.eINSTANCE
				.createRoleAssignment();
		memeberRoleAssignment.setName("Contribute");
		memeberRoleAssignment.setMember(memberGroup);
		memeberRoleAssignment.getRoleDefinitionBindings().add(memberRole);
		sitePermission.getOwnedRoleAssignments().add(memeberRoleAssignment);
		// Read Assignment
		RoleAssignment visitorsRoleAssignment = UserFactory.eINSTANCE
				.createRoleAssignment();
		visitorsRoleAssignment.setName("Read");
		visitorsRoleAssignment.setMember(visitorsGroup);
		visitorsRoleAssignment.getRoleDefinitionBindings().add(VisitorsRole);
		sitePermission.getOwnedRoleAssignments().add(visitorsRoleAssignment);
		// Full Control Assignment
		RoleAssignment viewersRoleAssignment = UserFactory.eINSTANCE
				.createRoleAssignment();
		viewersRoleAssignment.setName("ViewOnly");
		viewersRoleAssignment.setMember(viewersGroup);
		viewersRoleAssignment.getRoleDefinitionBindings().add(viewerRole);
		sitePermission.getOwnedRoleAssignments().add(viewersRoleAssignment);
		// Add Role Assignment to web
		sitePermission.getOwnedRoleAssignments().add(visitorsRoleAssignment);
		sitePermission.getOwnedRoleAssignments().add(ownerRoleAssignment);
		sitePermission.getOwnedRoleAssignments().add(memeberRoleAssignment);
		sitePermission.getOwnedRoleAssignments().add(visitorsRoleAssignment);
		sitePermission.getOwnedRoleAssignments().add(viewersRoleAssignment);
		
		return sitePermission;
	}

	public static void loadAndAddSitePermission(Web web, SitePermission s){
		//Injector injector = Guice.createInjector(new UserRuntimeModule());
		new org.eclipse.emf.mwe.utils.StandaloneSetup().setPlatformUri("../");
		Injector injector = new UserStandaloneSetup().createInjectorAndDoEMFRegistration();
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
			
		Resource resource = resourceSet.getResource(URI.createURI(getUserFileLocationURI()), true);
		//EObject eobject = resource.getContents().get(0)
		//resourceSet.getResources().add(resource);
		//EditingDomainUtil.getResourceSet(root).getResources().add(resource);
		//web.eResource().getResourceSet().getResources().add(resource);
		UserModel model = (UserModel) resource.getContents().get(0);
	    model.getSitePermissions().add(s);
	    
	   
	    

	}
	
	public static String getUserFileLocationURI() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			
			String path = "";
			int segmentCount = file.getProjectRelativePath().segmentCount();
			if(segmentCount != 1){
				for (int i = 0; i < segmentCount -1; i++) {
					path += file.getProjectRelativePath().segment(i) + "/";
				}
			}
			return "platform:/resource/" + file.getProject().getName() + "/" + path + UserConstant.USER_FILE_NAME;
		}
		return "";
	}
}




its called class:When one web is created ,called my sitepermissionutil class

public class ContentXtextDocumentProvider extends XtextDocumentProvider {

	final static List<String> contentUnitNames = new ArrayList<String>();

	@Override
	protected void doSaveDocument(IProgressMonitor monitor, Object element,
			IDocument document, boolean overwrite) throws CoreException {
		super.doSaveDocument(monitor, element, document, overwrite);
		List<String> keywords = Arrays.asList("Web", "ContentModel",
				"CustomList", "ContentType", "LookUp", "TextField",
				"NumberField", "BooleanField", "View", "UserField",
				"CurrencyField", "UrlField", "NoteField", "DateTimeField",
				"ChoiceField");

		StringBuilder sb = new StringBuilder();
		for (String s : keywords) {
			sb.append(s);
			sb.append("|");

		}

		
		String keywordsString = sb.deleteCharAt(sb.length() - 1).toString();

		String pattern = String.format("\\b(%s)\\b((\\w|\\s|\\.)+)[{]",
				keywordsString);

		Pattern compile = Pattern.compile(pattern);

		String alldocument = document.get();

		String alldocumentWithoutComment = XtextResourceUtil
				.returnStringWithoutComments(alldocument);
		java.util.regex.Matcher matcher = compile
				.matcher(alldocumentWithoutComment);
		final List<String> contentUnitNames = new ArrayList<String>();
		while (matcher.find()) {
			String kelime = matcher.group(2).trim();
			
			// String bosluksuzKelime = kelime.replaceAll("\\s", "");
			contentUnitNames.add(kelime);

		}

		((IXtextDocument) document)
				.modify(new IUnitOfWork<Void, XtextResource>() {

					@Override
					public java.lang.Void exec(XtextResource state)
							throws Exception {
						int index = 0;
						ContentModel mymodel = (ContentModel) state
								.getContents().get(0);
						// System.out.println(mymodel.getName());
						if (mymodel.getDisplayName() == null
								|| mymodel.getDisplayName().equals(""))
							mymodel.setDisplayName(contentUnitNames.get(index));
						mymodel.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
						index++;
						// WebApplication a = mymodel.getOwnedWebApplication();

						// if (a.getDisplayName() == null ||
						// a.getDisplayName().equals(""))
						// a.setDisplayName(contentUnitNames.get(index));
						// a.setName(contentUnitNames.get(index).trim().replace(" ",
						// ""));
						// System.out.println(a.getName());

						// index++;

						// EList<SiteCollection> siteColls =
						// a.getOwnedSiteColection();

						// for (Iterator<SiteCollection> iterator =
						// siteColls.iterator(); iterator.hasNext();) {
						// SiteCollection siteCol = (SiteCollection)
						// iterator.next();

						// if (siteCol.getDisplayName() == null
						// || siteCol.getDisplayName().equals(""))
						// siteCol.setDisplayName(contentUnitNames.get(index));
						// siteCol.setName(contentUnitNames.get(index).trim().replace(" ",
						// ""));
						// System.out.println(siteCol.getName());

						// index++;

						Web rootWeb = mymodel.getOwnedWeb();
                       
						if (rootWeb.getDisplayName() == null
								|| rootWeb.getDisplayName().equals("")){
							rootWeb.setDisplayName(contentUnitNames.get(index));
						rootWeb.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
                         String guid =rootWeb.getGuID();
				SitePermission s=	[color=red]SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),
guid);
					 SitePermissionUtil.loadAndAddSitePermission(rootWeb, s);
 rootWeb.setSitePermission(s);
					[/color]
					
					//rootWeb.eResource().getResourceSet().getResources().add(resource);
				    //rootWeb.setSitePermission(SitePermissionUtil.loadAndAddSitePermission(contentUnitNames.get(index),
							//guid));
						 
						// System.out.println(rootWeb.getName());
						}
						index++;
						// System.out.println(index);

						EList<CustomList> ownedLists = rootWeb.getOwnedList();

						for (Iterator<CustomList> iterator2 = ownedLists
								.iterator(); iterator2.hasNext();) {
							CustomList list = (CustomList) iterator2.next();

							if (list.getDisplayName() == null
									|| list.getDisplayName().equals(""))
								list.setDisplayName(contentUnitNames.get(index));
							list.setName(contentUnitNames.get(index).trim()
									.replace(" ", ""));
							index++;
							// System.out.println(list.getName());
							EList<ContentType> ownedContentTypes = list
									.getOwnedContentType();

							for (Iterator<ContentType> iterator3 = ownedContentTypes
									.iterator(); iterator3.hasNext();) {
								ContentType content = (ContentType) iterator3
										.next();

								if (content.getDisplayName() == null
										|| content.getDisplayName().equals(""))
									content.setDisplayName(contentUnitNames
											.get(index));
								content.setName(contentUnitNames.get(index)
										.trim().replace(" ", ""));
								index++;

								// System.out.println(content.getName());
								EList<Field> ownedFields = content
										.getOwnedField();

								for (Iterator<Field> iterator4 = ownedFields
										.iterator(); iterator4.hasNext();) {
									Field field = (Field) iterator4.next();

									if (field.getDisplayName() == null
											|| field.getDisplayName()
													.equals(""))
										field.setDisplayName(contentUnitNames
												.get(index));
									field.setName(contentUnitNames.get(index)
											.trim().replace(" ", ""));
									index++;
									// System.out.println(field.getName());
								}
							}

							EList<View> ownedViews = list.getOwnedView();

							for (Iterator<View> iterator5 = ownedViews
									.iterator(); iterator5.hasNext();) {
								View view = (View) iterator5.next();

								if (view.getDisplayName() == null
										|| view.getDisplayName().equals(""))
									view.setDisplayName(contentUnitNames
											.get(index));
								view.setName(contentUnitNames.get(index).trim()
										.replace(" ", ""));
								index++;
								// System.out.println(view.getName());
							}
						}

						// Webleri dolas
						EList<Web> ownedwebs = rootWeb.getOwnedWeb();
						for (Iterator<Web> iterator6 = ownedwebs.iterator(); iterator6
								.hasNext();) {
							Web w = (Web) iterator6.next();
							index = setRecursivelyWebsDisplayName(w, index,
									contentUnitNames);
						}

						// }

						return null;

					}

				});

		super.doSaveDocument(monitor, element, document, overwrite);
	}

	public static int setRecursivelyWebsDisplayName(Web web, int index,
			List<String> contentUnitNames) {

		if (web.getDisplayName() == null || web.getDisplayName().equals("")){
			web.setDisplayName(contentUnitNames.get(index));
		web.setName(contentUnitNames.get(index).trim().replace(" ", ""));
		
		String guid =web.getGuID();
		
SitePermission s= SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),guid);
 SitePermissionUtil.loadAndAddSitePermission(web, s);
	     //System.out.print(web.setSitePermission( SitePermissionUtil.loadAndAddSitePermission(contentUnitNames.get(index),guid)));
		//web.setSitePermission( SitePermissionUtil.loadAndAddSitePermission(contentUnitNames.get(index),guid));
		 
		}
		index++;

		EList<CustomList> ownedLists = web.getOwnedList();
		for (Iterator<CustomList> iterator2 = ownedLists.iterator(); iterator2
				.hasNext();) {
			CustomList list = (CustomList) iterator2.next();

			if (list.getDisplayName() == null
					|| list.getDisplayName().equals(""))
				list.setDisplayName(contentUnitNames.get(index));
			list.setName(contentUnitNames.get(index).trim().replace(" ", ""));
			// System.out.println(list.getName());
			index++;
			EList<ContentType> ownedContentTypes = list.getOwnedContentType();

			for (Iterator<ContentType> iterator3 = ownedContentTypes.iterator(); iterator3
					.hasNext();) {
				ContentType content = (ContentType) iterator3.next();

				if (content.getDisplayName() == null
						|| content.getDisplayName().equals(""))
					content.setDisplayName(contentUnitNames.get(index));
				content.setName(contentUnitNames.get(index).trim()
						.replace(" ", ""));
				// System.out.println(content.getName());
				index++;
				EList<Field> ownedFields = content.getOwnedField();

				for (Iterator<Field> iterator4 = ownedFields.iterator(); iterator4
						.hasNext();) {
					Field field = (Field) iterator4.next();

					if (field.getDisplayName() == null
							|| field.getDisplayName().equals(""))
						field.setDisplayName(contentUnitNames.get(index));
					field.setName(contentUnitNames.get(index).trim()
							.replace(" ", ""));
					// System.out.println(field.getName());
					index++;
				}
			}

			EList<View> ownedViews = list.getOwnedView();

			for (Iterator<View> iterator5 = ownedViews.iterator(); iterator5
					.hasNext();) {
				View view = (View) iterator5.next();

				if (view.getDisplayName() == null
						|| view.getDisplayName().equals(""))
					view.setDisplayName(contentUnitNames.get(index));
				view.setName(contentUnitNames.get(index).trim()
						.replace(" ", ""));
				// System.out.println(view.getName());
				index++;
                
			}

		}

		if (!web.getOwnedWeb().isEmpty()) {

			EList<Web> webs = web.getOwnedWeb();

			for (Iterator<Web> iterator = webs.iterator(); iterator.hasNext();) {
				Web w = (Web) iterator.next();
				// System.out.println(w);
				index = setRecursivelyWebsDisplayName(w, index,
						contentUnitNames);
			}

		}
		return index;
	}

}




Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077837 is a reply to message #1077832] Fri, 02 August 2013 07:59 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

(1) it would be helpful if you would drill down your problems to a helloworld example everybody can understand.
(2) make sure the created object has a resource and that this resource is in sight (project) of the one you try to refer it from.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077844 is a reply to message #1077837] Fri, 02 August 2013 08:13 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
And once more: never ever call a StandaloneSetup from eclipse.

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077949 is a reply to message #1077844] Fri, 02 August 2013 10:52 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I will try a little example.

How can I call StandaloneSetup from eclipse ?

ıt is solved my problem. Really I do not understand my problem
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077954 is a reply to message #1077949] Fri, 02 August 2013 10:56 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Simply don't use it

--
Need training, onsite consulting or any other kind of help for Xtext?
Go visit http://xtext.itemis.com or send a mail to xtext at itemis dot de


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077969 is a reply to message #1077954] Fri, 02 August 2013 11:24 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
P.S: http://koehnlein.blogspot.de/2012/11/xtext-tip-how-do-i-get-guice-injector.html

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077970 is a reply to message #1077954] Fri, 02 August 2013 11:25 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi,

Sorry I understand wrong.I change it : but I still receive same error.
ERROR:
Save Failed
No EObjectDescription could be found in Scope Web.sitePermission for UserModel'UMMM'.sitePermissions[1]->SitePermission'Home'
Semantic Object: ContentModel'Portal'.ownedWeb->Web'Home'





public static void loadAndAddSitePermission(Web web, SitePermission s){
     Injector injector = Guice.createInjector(new UserRuntimeModule());
      
     XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		Resource resource = resourceSet.getResource(URI.createURI(getUserFileLocationURI()), true);
		
		
		resourceSet.getResources().add(resource);
		
		
		UserModel model = (UserModel) resource.getContents().get(0);
	    model.getSitePermissions().add(s);
	    
	   
	    

	}



Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077980 is a reply to message #1077970] Fri, 02 August 2013 11:36 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

please reduce your code to a hello world example and post all neccessary code.

sitePermissions seems to be a cross reference?!? so you have to add them to a resouce too.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077990 is a reply to message #1077980] Fri, 02 August 2013 11:52 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi,

Now I ready a little example.

Yes sitePermission is crossreference. So already, First I create add sitepermission and then reference it another language. I use two editor content editor and user editor.

My aim: User enter Web name in the content editor and I receive this web name and then
I crate same name Sitepermission (SitePermission is in the user language) with the Web name .finally created SitePermission element is referenced in the content editor.I use referenced dsl in the content and user grammar.

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1077994 is a reply to message #1077990] Fri, 02 August 2013 11:56 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

the way you obtain the injector is still wrong never the less i have problems to follow you.

(1) you have a resource set rs
(2) you have resource a in rs
(3) you have resource b in same !!! rs
(4) you create a new object o and add it to a
(5) you create a object o2 in b where you set a reference to o

can you answer all questions with yes.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078006 is a reply to message #1077994] Fri, 02 August 2013 12:17 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi,

1-I have two different resource set : yes such as ccontent and user (diffrent language but onlly communication this two language between : sitePermission -> it is a cross reference)

2-Web is created in the content editor .and then I receive this web name .(such as Web A)
3- and then created automatically SitePermission that name is A -> in the other resourc e (User Editor)
4- finally ,automatically created SitePermission A will give referenced in the sitepermission attribute in the Web element.(Web element is in the Content Editor)

I hope understand you and I explain my problem.



[Updated on: Fri, 02 August 2013 12:30]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078022 is a reply to message #1078006] Fri, 02 August 2013 12:43 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
and i hope you understand your problem

1! resourceset it has to be. and the newly created stuff has to be added to a resources content


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de

[Updated on: Fri, 02 August 2013 12:43]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078032 is a reply to message #1078022] Fri, 02 August 2013 12:57 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I already use resourceset Sad
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078034 is a reply to message #1078032] Fri, 02 August 2013 13:00 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
No:

1-I have two different resource set


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078037 is a reply to message #1078034] Fri, 02 August 2013 13:04 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
I use one resource set ,You are right

Injector injector = Guice.createInjector(new UserRuntimeModule());
XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);

Resource resource = resourceSet.getResource(URI.createURI(getUserFileLocationURI()), true);


Christian Dietrich wrote on Fri, 02 August 2013 09:00
No:

1-I have two different resource set
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078046 is a reply to message #1078034] Fri, 02 August 2013 13:18 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

I am understand :

I have two different grammar so that I have two different resource . but I use one resource set (such as B resource set is added to A)

I am right Sad
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1078050 is a reply to message #1078046] Fri, 02 August 2013 13:24 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
yes simple use 1 resourceset todo everything.

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1079895 is a reply to message #1078050] Mon, 05 August 2013 07:58 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I reach my file such as
platform:/resource/relative path, but I receive an error and not added other resource
Error :
Save Failed
Attempted to beginRule: L/deneme/user.user, does not match outer scope rule: L/deneme/contentdeneme.content.
I do not solved this problem Sad

public static SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
		Injector injector = Guice.createInjector(new UserRuntimeModule());
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		
			
			Resource resource = resourceSet.getResource(
				    URI.createURI(getUserFileLocationURI()), true);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			//Default fieldlar yaratılır.
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);
			
			
			 try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
			resource.unload();
			resourceSet = null;
		
		
		return sitePermission;
	}

	public static String getUserFileLocationURI() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			
			String path = "";
			int segmentCount = file.getProjectRelativePath().segmentCount();
			if(segmentCount != 1){
				for (int i = 0; i < segmentCount -1; i++) {
					path += file.getProjectRelativePath().segment(i) + "/";
				}
			}
			return "platform:/resource/" + file.getProject().getName() + "/" + path + UserConstant.USER_FILE_NAME;
		}
		return "";
	}


[Updated on: Mon, 05 August 2013 08:00]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1079909 is a reply to message #1079895] Mon, 05 August 2013 08:19 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi sure the file you try to create has the right structure (root node
matches the one from the grammar)

--
Need training, onsite consulting or any other kind of help for Xtext?
Go visit http://xtext.itemis.com or send a mail to xtext at itemis dot de


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1079921 is a reply to message #1079909] Mon, 05 August 2013 08:38 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

But I reach my file such as :below C:\project
not give an error ,added my object in the file

I do not understand Sad How can I solved (root node
matches the one from the grammar)

public static SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
		Injector injector = Guice.createInjector(new UserRuntimeModule());
	
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		getUserFilePath(getProjectName(), UserConstant.USER_FILE_NAME);
		
		if (getUserFile() != null) {
			
			Resource resource = resourceSet.getResource(
				    URI.createURI(userFile.toURI().toString()), true);
			System.out.println(resource);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			//Default fieldlar yaratılır.
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);

try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
		return sitePermission;
	}

	public static IProject getProjectName() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IProject activeProject = null;
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			activeProject = file.getProject();
		}
		return activeProject;
	}

	public static void getUserFilePath(IProject project, String name) {
		File[] files = project.getLocation().toFile().listFiles();
		showFiles(files, name);
	}

	public static void showFiles(File[] files, String name) {
		if (getUserFile() == null) {
			for (File file : files) {
				if (name.equals(file.getName())) {
					setUserFile(file);
					break;
				} else {
					if (file.isDirectory()) {
						showFiles(file.listFiles(), name); // Calls same method again.
					}
				}
			}
		}
	}

	public static File getUserFile() {
		return userFile;
	}

	public static void setUserFile(File userFile) {
		SitePermissionUtil.userFile = userFile;
	}
}




Best Regards
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1079944 is a reply to message #1079921] Mon, 05 August 2013 09:05 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Sorry the leads to nothing. Please share a minimal example code

--
Need training, onsite consulting or any other kind of help for Xtext?
Go visit http://xtext.itemis.com or send a mail to xtext at itemis dot de


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080155 is a reply to message #1079944] Mon, 05 August 2013 14:40 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

I ready a siple example ,How can I give reference automatically .Really ,I try a lots of method but not succesfull:(

My Two grammar is below :

mydsl :

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"

import "http://www.xtext.org/example/mydsl2/MyDsl2" as user
ContentModel returns ContentModel:
	'ContentModel'
	name=QualifiedName
	'{''displayName' '=' displayName=STRING
	    ('description' '=' description=STRING)?
	    ownedWeb=Web
'}';
	
ContentUnit returns ContentUnit:
	ContentModel | Web 
;
	
Web returns Web:
	
	'Web'
	name=QualifiedName
	'{'  'guID' '=' guID=STRING
		'displayName' '=' displayName=STRING
		('description' '=' description=STRING)?
		('sitePermission' '=' sitePermission = [user::SitePermission|QualifiedName])?
		('Webs' '{' ownedWeb+=Web (ownedWeb+=Web)* '}' )?
	'}';
	
	QualifiedName:
	ID('.'ID)*	
;



Second Grammar :

grammar org.xtext.example.mydsl2.MyDsl2 with org.eclipse.xtext.common.Terminals

generate myDsl2 "http://www.xtext.org/example/mydsl2/MyDsl2"

UserModel returns UserModel:
'UserModel' name = QualifiedName '{'

('sitePermissions' '{' sitePermissions+=SitePermission (sitePermissions+=SitePermission)* '}' )?
'}'
;

SitePermission returns SitePermission:
'sitePermission' name = QualifiedName '{'
'webGUID' '=' webGUID=STRING
('groups' '{' (ownedGroup+=Group)* '}' )?

'}'
Group:
'Group'
name=QualifiedName
'{'

'}'
QualifiedName:
ID('.'ID)*
;
My aim:

When one Web is created its sitepermission is created automatically and then Web -> sitepermission :cerated sitepermission will give referenced automatically.


below code is added sitepermission :but everytime I save other editor Sad
in addition below code is not illegalargumentexception .but if I use Platform/resource uri ,I receive above error (İllegalArgumentException:Attemt to begining )


public class Sitepermission6 {
	
	
	public static File userFile;

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID, UserModel userModel) {
		// Initialize the model
		MyDsl2Package.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		MyDsl2Factory factory = MyDsl2Factory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = MyDsl2Factory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		
        
		userModel.getSitePermissions().add(sitePermission);
		
		return sitePermission;
	}

	public static SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
		Injector injector = Guice.createInjector(new MyDsl2RuntimeModule());
	
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		getUserFilePath(getProjectName(), UserConstant1.USER_FILE_NAME);
		
		if (getUserFile() != null) {
		
			Resource resource = resourceSet.getResource(
				    URI.createURI(userFile.toURI().toString()), true);
			System.out.println(resource);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);
		
			try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			setUserFile(null);
			resource.unload();
			resourceSet = null;
			
		}
		
		return sitePermission;
	}

	public static IProject getProjectName() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IProject activeProject = null;
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			activeProject = file.getProject();
		}
		return activeProject;
	}

	public static void getUserFilePath(IProject project, String name) {
		File[] files = project.getLocation().toFile().listFiles();
		showFiles(files, name);
	}

	public static void showFiles(File[] files, String name) {
		if (getUserFile() == null) {
			for (File file : files) {
				if (name.equals(file.getName())) {
					setUserFile(file);
					break;
				} else {
					if (file.isDirectory()) {
						showFiles(file.listFiles(), name); // Calls same method again.
					}
				}
			}
		}
	}

	public static File getUserFile() {
		return userFile;
	}

	public static void setUserFile(File userFile) {
		Sitepermission6.userFile = userFile;
	}

}



I call below code in this class :


public class AutoEdit extends XtextDocumentProvider{
	
	final static List<String> contentUnitNames = new ArrayList<String>();

	@Override
	protected void doSaveDocument(IProgressMonitor monitor, Object element,
			IDocument document, boolean overwrite) throws CoreException {
		super.doSaveDocument(monitor, element, document, overwrite);
		List<String> keywords = Arrays.asList("Web", "ContentModel");

		StringBuilder sb = new StringBuilder();
		for (String s : keywords) {
			sb.append(s);
			sb.append("|");

		}

		/*
		 * En sondaki | karakterini sil.
		 */
		String keywordsString = sb.deleteCharAt(sb.length() - 1).toString();

		String pattern = String.format("\\b(%s)\\b((\\w|\\s|\\.)+)[{]",
				keywordsString);

		Pattern compile = Pattern.compile(pattern);

		String alldocument = document.get();

		String alldocumentWithoutComment = XtextResourceUtil1
				.returnStringWithoutComments(alldocument);
		java.util.regex.Matcher matcher = compile
				.matcher(alldocumentWithoutComment);
		final List<String> contentUnitNames = new ArrayList<String>();
		while (matcher.find()) {
			String kelime = matcher.group(2).trim();
			contentUnitNames.add(kelime);

		}

		((IXtextDocument) document)
				.modify(new IUnitOfWork<Void, XtextResource>() {

					@Override
					public java.lang.Void exec(XtextResource state)
							throws Exception {
						int index = 0;
						ContentModel mymodel = (ContentModel) state
								.getContents().get(0);
						// System.out.println(mymodel.getName());
						if (mymodel.getDisplayName() == null
								|| mymodel.getDisplayName().equals(""))
							mymodel.setDisplayName(contentUnitNames.get(index));
						mymodel.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
						index++;
						

						Web rootWeb = mymodel.getOwnedWeb();
                       
						if (rootWeb.getDisplayName() == null
								|| rootWeb.getDisplayName().equals("")){
							rootWeb.setDisplayName(contentUnitNames.get(index));
						rootWeb.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
                         String guid =rootWeb.getGuID();
				//SitePermission s=	SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),
						//guid);
                       Sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
					
					     // rootWeb.setSitePermission(s);
					
					
					
						 
						// System.out.println(rootWeb.getName());
						}
						index++;
						// System.out.println(index);

						

					

						// Webleri dolas
						EList<Web> ownedwebs = rootWeb.getOwnedWeb();
						for (Iterator<Web> iterator6 = ownedwebs.iterator(); iterator6
								.hasNext();) {
							Web w = (Web) iterator6.next();
							index = setRecursivelyWebsDisplayName(w, index,
									contentUnitNames);
						}

						

						return null;

					}

				});

		super.doSaveDocument(monitor, element, document, overwrite);
	}

	public static int setRecursivelyWebsDisplayName(Web web, int index,
			List<String> contentUnitNames) {

		if (web.getDisplayName() == null || web.getDisplayName().equals("")){
			web.setDisplayName(contentUnitNames.get(index));
		web.setName(contentUnitNames.get(index).trim().replace(" ", ""));
		
		String guid =web.getGuID();
		
Sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
		// web.setSitePermission(s);
	    }
		index++;


		if (!web.getOwnedWeb().isEmpty()) {

			EList<Web> webs = web.getOwnedWeb();

			for (Iterator<Web> iterator = webs.iterator(); iterator.hasNext();) {
				Web w = (Web) iterator.next();
				// System.out.println(w);
				index = setRecursivelyWebsDisplayName(w, index,
						contentUnitNames);
			}

		}
		return index;
	}
	

}




[Updated on: Mon, 05 August 2013 14:42]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080163 is a reply to message #1080155] Mon, 05 August 2013 14:54 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Sorry i still want a project i can import and run.
i have not the time to do a lot of work to reproduce a problem.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080584 is a reply to message #1080163] Tue, 06 August 2013 05:58 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

I add my little project in the attachment.but I load two project because size is big.You can import Deneme1.zip and Deneme2.zip.Now I added but no give reference for Web.sitePermission.

in addition my other tryed code for SitePermissionUtil .Below code is not added but I use uri such as platform\resource \...


package org.xtext.example.mydsl.myDsl.util;
public class SitePermissionUtil1 {

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID) {
		// Initialize the model
		UserPackage.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		UserFactory factory = UserFactory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = UserFactory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		
		
		return sitePermission;
	}

	public static void loadAndAddSitePermission(Web web, SitePermission s){
		Injector injector = Guice.createInjector(new UserRuntimeModule());
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
			
		Resource resource = resourceSet.getResource(URI.createURI(getUserFileLocationURI()), true);
		//EObject eobject = resource.getContents().get(0)
		//resourceSet.getResources().add(resource);
		//EditingDomainUtil.getResourceSet(root).getResources().add(resource);
		//web.eResource().getResourceSet().getResources().add(resource);
		//System.out.println(web.eResource().getResourceSet().getResources().add(resource));
		UserModel model = (UserModel) resource.getContents().get(0);
	    model.getSitePermissions().add(s);
	    System.out.println( model.getSitePermissions().add(s));
	    

	}
	
	public static String getUserFileLocationURI() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			
			String path = "";
			int segmentCount = file.getProjectRelativePath().segmentCount();
			if(segmentCount != 1){
				for (int i = 0; i < segmentCount -1; i++) {
					path += file.getProjectRelativePath().segment(i) + "/";
				}
			}
			return "platform:/resource/" + file.getProject().getName() + "/" + path + UserConstant.USER_FILE_NAME;
		}
		return "";
	}
}





Best regards
  • Attachment: Deneme1.zip
    (Size: 1.55MB, Downloaded 112 times)
  • Attachment: Deneme2.zip
    (Size: 1.67MB, Downloaded 136 times)

[Updated on: Tue, 06 August 2013 06:01]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080595 is a reply to message #1080584] Tue, 06 August 2013 06:22 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Will have a look today evening

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080615 is a reply to message #1080595] Tue, 06 August 2013 07:03 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

Thank you very much in advance
I will be very happy

Best Regards
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080625 is a reply to message #1080615] Tue, 06 August 2013 07:24 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

if you once would do what i tell you Sad
why do you always do that static crap. if you'd use guice right.....

package org.xtext.example.mydsl2.myDsl2.util;


import java.io.File;
import java.io.IOException;

import javax.inject.Inject;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PlatformUI;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.xtext.example.mydsl2.MyDsl2RuntimeModule;
import org.xtext.example.mydsl2.myDsl2.Group;
import org.xtext.example.mydsl2.myDsl2.MyDsl2Factory;
import org.xtext.example.mydsl2.myDsl2.MyDsl2Package;
import org.xtext.example.mydsl2.myDsl2.SitePermission;
import org.xtext.example.mydsl2.myDsl2.UserModel;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Provider;


public class Sitepermission6 {
	
	@Inject
	Provider<XtextResourceSet> rsp;
	
	
	public File userFile;

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID, UserModel userModel) {
		// Initialize the model
		MyDsl2Package.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		MyDsl2Factory factory = MyDsl2Factory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = MyDsl2Factory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		
        
		userModel.getSitePermissions().add(sitePermission);
		
		return sitePermission;
	}

	public SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
	
		XtextResourceSet resourceSet = rsp.get();
		
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		getUserFilePath(getProjectName(), UserConstant1.USER_FILE_NAME);
		
		if (getUserFile() != null) {
		
			Resource resource = resourceSet.getResource(
				    URI.createURI(userFile.toURI().toString()), true);
			System.out.println(resource);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);
		
			try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			setUserFile(null);
			resource.unload();
			resourceSet = null;
			
		}
		
		return sitePermission;
	}

	public static IProject getProjectName() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IProject activeProject = null;
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			activeProject = file.getProject();
		}
		return activeProject;
	}

	public void getUserFilePath(IProject project, String name) {
		File[] files = project.getLocation().toFile().listFiles();
		showFiles(files, name);
	}

	public void showFiles(File[] files, String name) {
		if (getUserFile() == null) {
			for (File file : files) {
				if (name.equals(file.getName())) {
					setUserFile(file);
					break;
				} else {
					if (file.isDirectory()) {
						showFiles(file.listFiles(), name); // Calls same method again.
					}
				}
			}
		}
	}

	public File getUserFile() {
		return userFile;
	}

	public void setUserFile(File userFile) {
		this.userFile = userFile;
	}

}


package org.xtext.example.mydsl.ui.autoedit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;

import javax.inject.Inject;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.EList;
import org.eclipse.jface.text.IDocument;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
import org.eclipse.xtext.ui.editor.model.XtextDocumentProvider;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
import org.xtext.example.mydsl.myDsl.ContentModel;
import org.xtext.example.mydsl.myDsl.Web;
import org.xtext.example.mydsl.ui.util.XtextResourceUtil1;
import org.xtext.example.mydsl2.myDsl2.util.Sitepermission6;

public class AutoEdit extends XtextDocumentProvider{
	
	final static List<String> contentUnitNames = new ArrayList<String>();
	
	@Inject
	Sitepermission6 sitepermission6;

	@Override
	protected void doSaveDocument(IProgressMonitor monitor, Object element,
			IDocument document, boolean overwrite) throws CoreException {
		super.doSaveDocument(monitor, element, document, overwrite);
		List<String> keywords = Arrays.asList("Web", "ContentModel");

		StringBuilder sb = new StringBuilder();
		for (String s : keywords) {
			sb.append(s);
			sb.append("|");

		}

		/*
		 * En sondaki | karakterini sil.
		 */
		String keywordsString = sb.deleteCharAt(sb.length() - 1).toString();

		String pattern = String.format("\\b(%s)\\b((\\w|\\s|\\.)+)[{]",
				keywordsString);

		Pattern compile = Pattern.compile(pattern);

		String alldocument = document.get();

		String alldocumentWithoutComment = XtextResourceUtil1
				.returnStringWithoutComments(alldocument);
		java.util.regex.Matcher matcher = compile
				.matcher(alldocumentWithoutComment);
		final List<String> contentUnitNames = new ArrayList<String>();
		while (matcher.find()) {
			String kelime = matcher.group(2).trim();
			contentUnitNames.add(kelime);

		}

		((IXtextDocument) document)
				.modify(new IUnitOfWork<Void, XtextResource>() {

					@Override
					public java.lang.Void exec(XtextResource state)
							throws Exception {
						int index = 0;
						ContentModel mymodel = (ContentModel) state
								.getContents().get(0);
						// System.out.println(mymodel.getName());
						if (mymodel.getDisplayName() == null
								|| mymodel.getDisplayName().equals(""))
							mymodel.setDisplayName(contentUnitNames.get(index));
						mymodel.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
						index++;
						

						Web rootWeb = mymodel.getOwnedWeb();
                       
						if (rootWeb.getDisplayName() == null
								|| rootWeb.getDisplayName().equals("")){
							rootWeb.setDisplayName(contentUnitNames.get(index));
						rootWeb.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
                         String guid =rootWeb.getGuID();
				//SitePermission s=	SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),
						//guid);
                         sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
					
					     // rootWeb.setSitePermission(s);
					
					
					//rootWeb.eResource().getResourceSet().getResources().add(resource);
				    //rootWeb.setSitePermission(SitePermissionUtil.loadAndAddSitePermission(contentUnitNames.get(index),
							//guid));
						 
						// System.out.println(rootWeb.getName());
						}
						index++;
						// System.out.println(index);

						

					

						// Webleri dolas
						EList<Web> ownedwebs = rootWeb.getOwnedWeb();
						for (Iterator<Web> iterator6 = ownedwebs.iterator(); iterator6
								.hasNext();) {
							Web w = (Web) iterator6.next();
							index = setRecursivelyWebsDisplayName(w, index,
									contentUnitNames);
						}

						// }

						return null;

					}

				});

		super.doSaveDocument(monitor, element, document, overwrite);
	}

	public int setRecursivelyWebsDisplayName(Web web, int index,
			List<String> contentUnitNames) {

		if (web.getDisplayName() == null || web.getDisplayName().equals("")){
			web.setDisplayName(contentUnitNames.get(index));
		web.setName(contentUnitNames.get(index).trim().replace(" ", ""));
		// System.out.println(web.getName());
		String guid =web.getGuID();
		//EObject root =web.eContainer();
	    //SitePermission s= SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),guid);
		 sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
		// System.out.println( s);
		 
		// web.setSitePermission(s);
	    
		 
		}
		index++;


		if (!web.getOwnedWeb().isEmpty()) {

			EList<Web> webs = web.getOwnedWeb();

			for (Iterator<Web> iterator = webs.iterator(); iterator.hasNext();) {
				Web w = (Web) iterator.next();
				// System.out.println(w);
				index = setRecursivelyWebsDisplayName(w, index,
						contentUnitNames);
			}

		}
		return index;
	}
	

}


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080669 is a reply to message #1080625] Tue, 06 August 2013 08:32 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I do not understand.
You say :
@Inject
Provider<XtextResourceSet> rsp;
I don't use rsp Sad

best regards
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080676 is a reply to message #1080669] Tue, 06 August 2013 08:42 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
yes cause you damn create a new Injector. this is wrong!!!!!

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080760 is a reply to message #1080676] Tue, 06 August 2013 10:53 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian ,

I used injector in the AutoEdit and SitePermission6.but I take nulpointerexception error:(


public class Sitepermission6 {
	
	
	@Inject
	static Provider<XtextResourceSet> rsp;
	
	public static File userFile;

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID, UserModel userModel) {
		// Initialize the model
		MyDsl2Package.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		MyDsl2Factory factory = MyDsl2Factory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = MyDsl2Factory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		
        
		userModel.getSitePermissions().add(sitePermission);
		
		return sitePermission;
	}

	public static SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
		Injector injector = Guice.createInjector(new MyDsl2RuntimeModule());
		XtextResourceSet resourceSet = rsp.get();
	
		//XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		getUserFilePath(getProjectName(), UserConstant1.USER_FILE_NAME);
		
		if (getUserFile() != null) {
		
			Resource resource = resourceSet.getResource(
				    URI.createURI(userFile.toURI().toString()), true);
			System.out.println(resource);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);
		
			try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			setUserFile(null);
			resource.unload();
			resourceSet = null;
			
		}
		
		return sitePermission;
	}

	public static IProject getProjectName() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IProject activeProject = null;
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			activeProject = file.getProject();
		}
		return activeProject;
	}

	public static void getUserFilePath(IProject project, String name) {
		File[] files = project.getLocation().toFile().listFiles();
		showFiles(files, name);
	}

	public static void showFiles(File[] files, String name) {
		if (getUserFile() == null) {
			for (File file : files) {
				if (name.equals(file.getName())) {
					setUserFile(file);
					break;
				} else {
					if (file.isDirectory()) {
						showFiles(file.listFiles(), name); // Calls same method again.
					}
				}
			}
		}
	}

	public static File getUserFile() {
		return userFile;
	}

	public static void setUserFile(File userFile) {
		Sitepermission6.userFile = userFile;
	}

}


Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080769 is a reply to message #1080625] Tue, 06 August 2013 11:02 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

My aim is :When I create a Web, Sitepermission is created automatically in the user.mydsl2 (Created SitePermission name is same with Web's name.)in addition, finally created Sitepermission is given referenced in the Web.sitepermission attribute.But I do not give reference now and I receive an No EObjectDescription error:(



Christian Dietrich wrote on Tue, 06 August 2013 10:24
Hi,

if you once would do what i tell you Sad
why do you always do that static crap. if you'd use guice right.....

package org.xtext.example.mydsl2.myDsl2.util;


import java.io.File;
import java.io.IOException;

import javax.inject.Inject;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PlatformUI;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.xtext.example.mydsl2.MyDsl2RuntimeModule;
import org.xtext.example.mydsl2.myDsl2.Group;
import org.xtext.example.mydsl2.myDsl2.MyDsl2Factory;
import org.xtext.example.mydsl2.myDsl2.MyDsl2Package;
import org.xtext.example.mydsl2.myDsl2.SitePermission;
import org.xtext.example.mydsl2.myDsl2.UserModel;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Provider;


public class Sitepermission6 {
	
	@Inject
	Provider<XtextResourceSet> rsp;
	
	
	public File userFile;

	public static SitePermission createDefaultSitePermission(String webName,
			String webGuID, UserModel userModel) {
		// Initialize the model
		MyDsl2Package.eINSTANCE.eClass();
		// Retrieve the default factory singleton
		MyDsl2Factory factory = MyDsl2Factory.eINSTANCE;
		// SitePermission
		SitePermission sitePermission = factory.createSitePermission();
		sitePermission.setName(webName);
		sitePermission.setWebGUID(webGuID);

		// Owners Group
		Group ownerGroup = MyDsl2Factory.eINSTANCE.createGroup();
		ownerGroup.setName("Owners");
		sitePermission.getOwnedGroup().add(ownerGroup);
		
        
		userModel.getSitePermissions().add(sitePermission);
		
		return sitePermission;
	}

	public SitePermission loadForCreateSitePermission(String webName,
			String webGuID) {
		
		
		SitePermission sitePermission = null;
	
		XtextResourceSet resourceSet = rsp.get();
		
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		
		getUserFilePath(getProjectName(), UserConstant1.USER_FILE_NAME);
		
		if (getUserFile() != null) {
		
			Resource resource = resourceSet.getResource(
				    URI.createURI(userFile.toURI().toString()), true);
			System.out.println(resource);
			
			UserModel eobject = (UserModel) resource.getContents().get(0);
			
			sitePermission = createDefaultSitePermission(webName, webGuID, eobject);
		
			try {
				resource.save(null);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			setUserFile(null);
			resource.unload();
			resourceSet = null;
			
		}
		
		return sitePermission;
	}

	public static IProject getProjectName() {
		IEditorPart editorPart = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IProject activeProject = null;
		if (editorPart != null) {
			IFileEditorInput input = (IFileEditorInput) editorPart
					.getEditorInput();
			IFile file = input.getFile();
			activeProject = file.getProject();
		}
		return activeProject;
	}

	public void getUserFilePath(IProject project, String name) {
		File[] files = project.getLocation().toFile().listFiles();
		showFiles(files, name);
	}

	public void showFiles(File[] files, String name) {
		if (getUserFile() == null) {
			for (File file : files) {
				if (name.equals(file.getName())) {
					setUserFile(file);
					break;
				} else {
					if (file.isDirectory()) {
						showFiles(file.listFiles(), name); // Calls same method again.
					}
				}
			}
		}
	}

	public File getUserFile() {
		return userFile;
	}

	public void setUserFile(File userFile) {
		this.userFile = userFile;
	}

}


package org.xtext.example.mydsl.ui.autoedit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;

import javax.inject.Inject;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.EList;
import org.eclipse.jface.text.IDocument;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
import org.eclipse.xtext.ui.editor.model.XtextDocumentProvider;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
import org.xtext.example.mydsl.myDsl.ContentModel;
import org.xtext.example.mydsl.myDsl.Web;
import org.xtext.example.mydsl.ui.util.XtextResourceUtil1;
import org.xtext.example.mydsl2.myDsl2.util.Sitepermission6;

public class AutoEdit extends XtextDocumentProvider{
	
	final static List<String> contentUnitNames = new ArrayList<String>();
	
	@Inject
	Sitepermission6 sitepermission6;

	@Override
	protected void doSaveDocument(IProgressMonitor monitor, Object element,
			IDocument document, boolean overwrite) throws CoreException {
		super.doSaveDocument(monitor, element, document, overwrite);
		List<String> keywords = Arrays.asList("Web", "ContentModel");

		StringBuilder sb = new StringBuilder();
		for (String s : keywords) {
			sb.append(s);
			sb.append("|");

		}

		/*
		 * En sondaki | karakterini sil.
		 */
		String keywordsString = sb.deleteCharAt(sb.length() - 1).toString();

		String pattern = String.format("\\b(%s)\\b((\\w|\\s|\\.)+)[{]",
				keywordsString);

		Pattern compile = Pattern.compile(pattern);

		String alldocument = document.get();

		String alldocumentWithoutComment = XtextResourceUtil1
				.returnStringWithoutComments(alldocument);
		java.util.regex.Matcher matcher = compile
				.matcher(alldocumentWithoutComment);
		final List<String> contentUnitNames = new ArrayList<String>();
		while (matcher.find()) {
			String kelime = matcher.group(2).trim();
			contentUnitNames.add(kelime);

		}

		((IXtextDocument) document)
				.modify(new IUnitOfWork<Void, XtextResource>() {

					@Override
					public java.lang.Void exec(XtextResource state)
							throws Exception {
						int index = 0;
						ContentModel mymodel = (ContentModel) state
								.getContents().get(0);
						// System.out.println(mymodel.getName());
						if (mymodel.getDisplayName() == null
								|| mymodel.getDisplayName().equals(""))
							mymodel.setDisplayName(contentUnitNames.get(index));
						mymodel.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
						index++;
						

						Web rootWeb = mymodel.getOwnedWeb();
                       
						if (rootWeb.getDisplayName() == null
								|| rootWeb.getDisplayName().equals("")){
							rootWeb.setDisplayName(contentUnitNames.get(index));
						rootWeb.setName(contentUnitNames.get(index).trim()
								.replace(" ", ""));
                         String guid =rootWeb.getGuID();
				//SitePermission s=	SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),
						//guid);
                         sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
					
					     // rootWeb.setSitePermission(s);
					
					
					//rootWeb.eResource().getResourceSet().getResources().add(resource);
				    //rootWeb.setSitePermission(SitePermissionUtil.loadAndAddSitePermission(contentUnitNames.get(index),
							//guid));
						 
						// System.out.println(rootWeb.getName());
						}
						index++;
						// System.out.println(index);

						

					

						// Webleri dolas
						EList<Web> ownedwebs = rootWeb.getOwnedWeb();
						for (Iterator<Web> iterator6 = ownedwebs.iterator(); iterator6
								.hasNext();) {
							Web w = (Web) iterator6.next();
							index = setRecursivelyWebsDisplayName(w, index,
									contentUnitNames);
						}

						// }

						return null;

					}

				});

		super.doSaveDocument(monitor, element, document, overwrite);
	}

	public int setRecursivelyWebsDisplayName(Web web, int index,
			List<String> contentUnitNames) {

		if (web.getDisplayName() == null || web.getDisplayName().equals("")){
			web.setDisplayName(contentUnitNames.get(index));
		web.setName(contentUnitNames.get(index).trim().replace(" ", ""));
		// System.out.println(web.getName());
		String guid =web.getGuID();
		//EObject root =web.eContainer();
	    //SitePermission s= SitePermissionUtil.createDefaultSitePermission(contentUnitNames.get(index),guid);
		 sitepermission6.loadForCreateSitePermission(contentUnitNames.get(index),guid);
		// System.out.println( s);
		 
		// web.setSitePermission(s);
	    
		 
		}
		index++;


		if (!web.getOwnedWeb().isEmpty()) {

			EList<Web> webs = web.getOwnedWeb();

			for (Iterator<Web> iterator = webs.iterator(); iterator.hasNext();) {
				Web w = (Web) iterator.next();
				// System.out.println(w);
				index = setRecursivelyWebsDisplayName(w, index,
						contentUnitNames);
			}

		}
		return index;
	}
	

}

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080795 is a reply to message #1080769] Tue, 06 August 2013 11:36 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Sorry i need something reproducable.
it is still pita to support you. Sad

please once more share a complete (and clean) reproducable thing.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080818 is a reply to message #1080795] Tue, 06 August 2013 12:01 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

If I reach resourceset with

XtextResourceSet resourceSet = rsp.get();

I take null pointerexception error Sad
I do not understand Sad I share again my aim and code or project?

[Updated on: Tue, 06 August 2013 12:06]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080865 is a reply to message #1080818] Tue, 06 August 2013 13:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

if you do NOT crappy statics but injection as i do it will NOT be null.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080897 is a reply to message #1080865] Tue, 06 August 2013 14:05 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I use inject ,I remove static for all of the my fuction.Now I used inject Smile thank you for help .but My really problem is cross-reference.and file uri.I do not reference reference created SitePermission in the Web's sitepermission.How can I do this.
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1080944 is a reply to message #1080897] Tue, 06 August 2013 15:27 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Still cannot follow you.
give me a reproduceable code, i can analyze. if you dont create a cross ref you wont get one.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081127 is a reply to message #1080944] Tue, 06 August 2013 21:09 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

I add cross reference in the Sitepermissiontwo util class .I wrote new code (Sitepermissiontwo) is in the mydsl project (src-gen.mydsl.util package).I change my code now I try create uri : platform\resource\deneme\use.mydsl2.I load my project.I tried to create SitePermission and give reference SitePermission in the Web's sitepermission automatically.

Now I take an error Sad
Save Failed
Attempted to beginRule: L/deneme/user.mydsl2, does not match outer scope rule: L/deneme/denemeCT.mydsl

Ps : Project two part is in the other thread because size is overload. all projact (DenemeAddCrossRef1 and Deneme2)

Best Regards

[Updated on: Tue, 06 August 2013 21:13]

Report message to a moderator

Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081130 is a reply to message #1081127] Tue, 06 August 2013 21:12 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Project's two part.
  • Attachment: Deneme2.zip
    (Size: 1.67MB, Downloaded 151 times)
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081354 is a reply to message #1081130] Wed, 07 August 2013 06:05 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
and what do i have todo to trigger what you are talking about?

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081361 is a reply to message #1081354] Wed, 07 August 2013 06:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i actually see that it seems to be a eclipse job sync problem.
i have no idea what causes this

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081415 is a reply to message #1081361] Wed, 07 August 2013 07:52 Go to previous messageGo to next message
junior developer is currently offline junior developerFriend
Messages: 354
Registered: January 2013
Senior Member
Hi Christian,

How Can I give automatic reference ? How can I do it .I load my other method (below project) I do not solved illegalArgumentException error Sad My first project is cerated object automatically (Denem1 Deneme2) but ,I do not give referenece Sad

Best regards
Re: No EObjectDescription could be found in Scope Web.sitePermission for [message #1081419 is a reply to message #1081415] Wed, 07 August 2013 07:59 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

as i said i am no longer sure if the hook you use is the right one.
maybe Sebastian or Sven or Jan can say.


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:[Xbase] Change keywords of XSwitchExpression
Next Topic:How to run DSL-Editor in my common Eclipse-Workspace
Goto Forum:
  


Current Time: Fri Apr 26 13:58:14 GMT 2024

Powered by FUDForum. Page generated in 0.06111 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top